pro-design-vue 1.0.0-rc.1 → 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/index.full.js +65 -50
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +66 -51
  7. package/es/components/counter/src/counter.vue.d.ts +2 -4
  8. package/es/components/counter/src/counter.vue2.mjs +2 -4
  9. package/es/components/counter/src/counter.vue2.mjs.map +1 -1
  10. package/es/components/form/src/components/FormGroup.d.ts +12 -12
  11. package/es/components/form/src/components/FormList.d.ts +12 -12
  12. package/es/components/form/src/components/FormListContainer.d.ts +12 -12
  13. package/es/components/form/src/components/FormListItem.d.ts +12 -12
  14. package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
  15. package/es/components/form/src/components/FormSet.d.ts +12 -12
  16. package/es/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
  17. package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
  18. package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
  19. package/es/components/layout/src/layout.vue.d.ts +1 -0
  20. package/es/components/layout/src/layout.vue2.mjs +3 -1
  21. package/es/components/layout/src/layout.vue2.mjs.map +1 -1
  22. package/es/components/layout/src/typing.d.ts +5 -0
  23. package/es/components/table/src/components/Body/BodyCell.mjs +10 -1
  24. package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
  25. package/es/components/table/src/components/Form/Form.d.ts +7 -7
  26. package/es/components/table/src/components/Form/Form.mjs +2 -36
  27. package/es/components/table/src/components/Form/Form.mjs.map +1 -1
  28. package/es/components/table/src/components/Table.mjs +28 -4
  29. package/es/components/table/src/components/Table.mjs.map +1 -1
  30. package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
  31. package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
  32. package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
  33. package/es/index.d.ts +8 -4
  34. package/es/version.d.ts +1 -1
  35. package/es/version.mjs +1 -1
  36. package/es/version.mjs.map +1 -1
  37. package/lib/components/counter/src/counter.vue.d.ts +2 -4
  38. package/lib/components/counter/src/counter.vue2.js +2 -4
  39. package/lib/components/counter/src/counter.vue2.js.map +1 -1
  40. package/lib/components/form/src/components/FormGroup.d.ts +12 -12
  41. package/lib/components/form/src/components/FormList.d.ts +12 -12
  42. package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
  43. package/lib/components/form/src/components/FormListItem.d.ts +12 -12
  44. package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
  45. package/lib/components/form/src/components/FormSet.d.ts +12 -12
  46. package/lib/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
  47. package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
  48. package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
  49. package/lib/components/layout/src/layout.vue.d.ts +1 -0
  50. package/lib/components/layout/src/layout.vue2.js +3 -1
  51. package/lib/components/layout/src/layout.vue2.js.map +1 -1
  52. package/lib/components/layout/src/typing.d.ts +5 -0
  53. package/lib/components/table/src/components/Body/BodyCell.js +9 -0
  54. package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
  55. package/lib/components/table/src/components/Form/Form.d.ts +7 -7
  56. package/lib/components/table/src/components/Form/Form.js +2 -36
  57. package/lib/components/table/src/components/Form/Form.js.map +1 -1
  58. package/lib/components/table/src/components/Table.js +28 -4
  59. package/lib/components/table/src/components/Table.js.map +1 -1
  60. package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
  61. package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
  62. package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
  63. package/lib/index.d.ts +8 -4
  64. package/lib/version.d.ts +1 -1
  65. package/lib/version.js +1 -1
  66. package/lib/version.js.map +1 -1
  67. package/package.json +1 -1
  68. package/theme-chalk/src/index.less +1 -1
  69. package/theme-chalk/pro-table.css +0 -1
  70. package/theme-chalk/src/table.less +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BodyCell.js","sources":["../../../../../../../../packages/components/table/src/components/Body/BodyCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:43:29\n * @Description:\n */\nimport type { InnerKeydownPayload, RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, Key, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectRangeStore } from '../../hooks/useRangeStore'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { get, isObject, isPromise, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\nimport EditInput from './EditInput.vue'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n editCellKeys: Array as PropType<string[]>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onMousedown: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onMousemove: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onKeydown: Function as PropType<(e: KeyboardEvent, payload: InnerKeydownPayload) => void>,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const { getRangeCellClass } = useInjectRangeStore()\n const level = useInjectLevel()\n const { oldValuesMap } = useEditInject()\n const {\n prefixCls,\n column,\n wrapText,\n rowKey,\n item,\n rowIndex,\n hasAppendNode,\n tooltipOpen,\n editCellKeys,\n } = props\n\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item)\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n let customEditable = false\n let isEditing = editCellKeys?.includes(key)\n\n if (isEditing) {\n const editable =\n 'function' == typeof column!.editable &&\n column!.editable({\n record: item,\n column: column!.originColumn!,\n recordIndexs,\n value,\n })\n customEditable = 'cellEditorSlot' === column!.editable || 'cellEditorSlot' === editable\n isEditing =\n isEditing &&\n ((customEditable && !!tableSlotsContext.cellEditor) ||\n true === column!.editable ||\n !!editable)\n }\n\n let { editableTrigger = ['dblClick'] } = column!\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || 'valueStatus' : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column: column }\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n [`${prefixCls}-cell-inline-edit`]: isEditing,\n [getRangeCellClass(cellPosition)]: true,\n }\n\n const openEditor = () => {\n const oldValue =\n props.column?.valueGetter?.({\n value,\n record: item,\n column: column!,\n recordIndexs: recordIndexs,\n }) ?? value\n const beforeOpen = tableContext.props?.onBeforeOpenEditor?.(cellRenderArgs)\n if (isPromise(beforeOpen)) {\n beforeOpen.then((res) => {\n if (res) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n })\n } else {\n if (false !== beforeOpen) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n }\n }\n\n const closeEditor = (currentKey?: Key) => {\n const beforeClose = tableContext.props?.onBeforeCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n if (isPromise(beforeClose)) {\n beforeClose.then((res) => {\n if (res) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n })\n } else {\n if (false !== beforeClose) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n }\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n openEditor,\n closeEditor,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false ? tableContext.props.columnEmptyText : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else {\n cellValue = option.text || emptyText\n }\n } else {\n cellValue = emptyText\n }\n } else {\n // cellValue = value !== null || value !== undefined || value !== '' ? value : emptyText\n cellValue = value || emptyText\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n const onDblclick = () => {\n editableTrigger.includes('dblClick') && openEditor()\n }\n\n const editInputRender = isEditing\n ? createVNode(\n EditInput,\n {\n prefixCls,\n recordIndexs,\n rowKey,\n cellKey: key,\n column: column,\n record: item,\n onCloseEditor: closeEditor,\n value,\n customEditable,\n getPopupContainer: props.getPopupContainer,\n multiple: editCellKeys!.length > 1,\n autoHeight,\n },\n null,\n )\n : null\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (\n (tableContext.props.hasContextmenuPopup || tableContext.props.rangeSelection) &&\n 0 === e.button &&\n e.ctrlKey\n ) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n editableTrigger.includes('contextmenu') && openEditor()\n }\n },\n onDblclick,\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (\n (() => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n })()\n ) {\n onDblclick()\n e.preventDefault()\n return\n }\n emit('click', e, cellPosition)\n editableTrigger.includes('click') && openEditor()\n },\n onMousedown: (e: any) => {\n emit('mousedown', e, cellPosition)\n },\n onMousemove: (e: any) => {\n emit('mousemove', e, cellPosition)\n },\n onKeydown: (e: KeyboardEvent) => {\n emit('keydown', e, { cellPosition, isEditing })\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n autoHeight && editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [withDirectives(editInputRender, [[cellResize, cellResizeValue]])],\n )\n : editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [editInputRender],\n )\n : null,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["useInjectSlots","useInjectTable","useInjectBody","useInjectRangeStore","useInjectLevel","useEditInject","runFunction","key","get","isObject","cellProps","_a","_b","_c","_d","_e","isPromise","ensureValidVNode","createVNode","Badge","isValidElement","mergeProps","withDirectives","cellResize","BodyCellTooltip","cloneVNode","EditInput","isIOSUserAgent","isEventSupported","RowHandler"],"mappings":"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"}
1
+ {"version":3,"file":"BodyCell.js","sources":["../../../../../../../../packages/components/table/src/components/Body/BodyCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-09-16 10:31:02\n * @Description:\n */\nimport type { InnerKeydownPayload, RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, Key, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge, Tag } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectRangeStore } from '../../hooks/useRangeStore'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { get, isObject, isPromise, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\nimport EditInput from './EditInput.vue'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n editCellKeys: Array as PropType<string[]>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onMousedown: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onMousemove: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onKeydown: Function as PropType<(e: KeyboardEvent, payload: InnerKeydownPayload) => void>,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const { getRangeCellClass } = useInjectRangeStore()\n const level = useInjectLevel()\n const { oldValuesMap } = useEditInject()\n const {\n prefixCls,\n column,\n wrapText,\n rowKey,\n item,\n rowIndex,\n hasAppendNode,\n tooltipOpen,\n editCellKeys,\n } = props\n\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item)\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n let customEditable = false\n let isEditing = editCellKeys?.includes(key)\n\n if (isEditing) {\n const editable =\n 'function' == typeof column!.editable &&\n column!.editable({\n record: item,\n column: column!.originColumn!,\n recordIndexs,\n value,\n })\n customEditable = 'cellEditorSlot' === column!.editable || 'cellEditorSlot' === editable\n isEditing =\n isEditing &&\n ((customEditable && !!tableSlotsContext.cellEditor) ||\n true === column!.editable ||\n !!editable)\n }\n\n let { editableTrigger = ['dblClick'] } = column!\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || 'valueStatus' : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column: column }\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n [`${prefixCls}-cell-inline-edit`]: isEditing,\n [getRangeCellClass(cellPosition)]: true,\n }\n\n const openEditor = () => {\n const oldValue =\n props.column?.valueGetter?.({\n value,\n record: item,\n column: column!,\n recordIndexs: recordIndexs,\n }) ?? value\n const beforeOpen = tableContext.props?.onBeforeOpenEditor?.(cellRenderArgs)\n if (isPromise(beforeOpen)) {\n beforeOpen.then((res) => {\n if (res) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n })\n } else {\n if (false !== beforeOpen) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n }\n }\n\n const closeEditor = (currentKey?: Key) => {\n const beforeClose = tableContext.props?.onBeforeCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n if (isPromise(beforeClose)) {\n beforeClose.then((res) => {\n if (res) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n })\n } else {\n if (false !== beforeClose) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n }\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n openEditor,\n closeEditor,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false ? tableContext.props.columnEmptyText : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else if (option.color) {\n cellValue = createVNode(\n Tag,\n {\n color: option.color,\n bordered: false,\n },\n option.text,\n )\n } else {\n cellValue = option.text || emptyText\n }\n } else {\n cellValue = emptyText\n }\n } else {\n // cellValue = value !== null || value !== undefined || value !== '' ? value : emptyText\n cellValue = value || emptyText\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n const onDblclick = () => {\n editableTrigger.includes('dblClick') && openEditor()\n }\n\n const editInputRender = isEditing\n ? createVNode(\n EditInput,\n {\n prefixCls,\n recordIndexs,\n rowKey,\n cellKey: key,\n column: column,\n record: item,\n onCloseEditor: closeEditor,\n value,\n customEditable,\n getPopupContainer: props.getPopupContainer,\n multiple: editCellKeys!.length > 1,\n autoHeight,\n },\n null,\n )\n : null\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (\n (tableContext.props.hasContextmenuPopup || tableContext.props.rangeSelection) &&\n 0 === e.button &&\n e.ctrlKey\n ) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n editableTrigger.includes('contextmenu') && openEditor()\n }\n },\n onDblclick,\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (\n (() => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n })()\n ) {\n onDblclick()\n e.preventDefault()\n return\n }\n emit('click', e, cellPosition)\n editableTrigger.includes('click') && openEditor()\n },\n onMousedown: (e: any) => {\n emit('mousedown', e, cellPosition)\n },\n onMousemove: (e: any) => {\n emit('mousemove', e, cellPosition)\n },\n onKeydown: (e: KeyboardEvent) => {\n emit('keydown', e, { cellPosition, isEditing })\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n autoHeight && editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [withDirectives(editInputRender, [[cellResize, cellResizeValue]])],\n )\n : editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [editInputRender],\n )\n : null,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["useInjectSlots","useInjectTable","useInjectBody","useInjectRangeStore","useInjectLevel","useEditInject","runFunction","key","get","isObject","cellProps","_a","_b","_c","_d","_e","isPromise","ensureValidVNode","createVNode","Badge","Tag","isValidElement","mergeProps","withDirectives","cellResize","BodyCellTooltip","cloneVNode","EditInput","isIOSUserAgent","isEventSupported","RowHandler"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { PropType } from 'vue';
2
- import type { Bordered, ColumnsType, SearchConfig } from '../interface';
3
- import type { ProQueryFilterProps } from 'pro-design-vue/es/components/form';
2
+ import type { Bordered, SearchConfig } from '../interface';
3
+ import type { ProFormItemType, ProQueryFilterProps } from 'pro-design-vue/es/components/form';
4
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
5
  prefixCls: StringConstructor;
6
- columns: {
7
- type: PropType<ColumnsType>;
6
+ items: {
7
+ type: PropType<ProFormItemType[]>;
8
8
  default: () => never[];
9
9
  };
10
10
  search: {
@@ -39,8 +39,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
39
  };
40
40
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
41
  prefixCls: StringConstructor;
42
- columns: {
43
- type: PropType<ColumnsType>;
42
+ items: {
43
+ type: PropType<ProFormItemType[]>;
44
44
  default: () => never[];
45
45
  };
46
46
  search: {
@@ -78,8 +78,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
78
  search: SearchConfig;
79
79
  onReset: ((formData?: import("pro-design-vue").Entity | undefined) => void) | undefined;
80
80
  onSubmit: ((formData: import("pro-design-vue").Entity) => Promise<boolean | void> | boolean | void) | undefined;
81
+ items: ProFormItemType[];
81
82
  manual: boolean;
82
- columns: ColumnsType;
83
83
  beforeSearchSubmit: (params: Partial<any>) => any;
84
84
  cardBordered: Bordered;
85
85
  onFormSearchSubmit: (params: any) => void;
@@ -11,25 +11,10 @@ var omit = require('../../../../../utils/omit.js');
11
11
  function _isSlot(s) {
12
12
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
13
13
  }
14
- const flatColumnsHandle = (columns) => {
15
- const flatColumns = [];
16
- const loopColumns = (columns2) => {
17
- columns2.forEach((column) => {
18
- var _a;
19
- if ((_a = column == null ? void 0 : column.children) == null ? void 0 : _a.length) {
20
- loopColumns(column == null ? void 0 : column.children);
21
- } else {
22
- flatColumns.push(column);
23
- }
24
- });
25
- };
26
- loopColumns(columns);
27
- return flatColumns;
28
- };
29
14
  var FormRender = /* @__PURE__ */ vue.defineComponent({
30
15
  props: {
31
16
  prefixCls: String,
32
- columns: {
17
+ items: {
33
18
  type: Array,
34
19
  default: () => []
35
20
  },
@@ -67,25 +52,6 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
67
52
  setup: (props) => {
68
53
  var _a, _b, _c;
69
54
  const activeTabKey = vue.ref(((_a = props.search) == null ? void 0 : _a.cardProps) !== false ? (_c = (_b = props.search) == null ? void 0 : _b.cardProps) == null ? void 0 : _c.activeTabKey : "");
70
- const formItems = vue.computed(() => {
71
- var _a2, _b2, _c2;
72
- if ((_b2 = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b2.length) {
73
- return (_c2 = props.search) == null ? void 0 : _c2.items;
74
- }
75
- return flatColumnsHandle(props.columns).filter((item) => {
76
- if (item.hideInSearch) {
77
- return false;
78
- }
79
- return true;
80
- }).map((item) => {
81
- return {
82
- ...item,
83
- width: void 0,
84
- tooltip: item.headerTooltip,
85
- name: item.dataIndex
86
- };
87
- });
88
- });
89
55
  const cardProps = vue.computed(() => {
90
56
  var _a2, _b2;
91
57
  if (!((_a2 = props.search) == null ? void 0 : _a2.cardProps)) {
@@ -120,7 +86,7 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
120
86
  const searchDom = vue.createVNode(index.ProQueryFilter, vue.mergeProps({
121
87
  "class": `${props.prefixCls}-form`
122
88
  }, omit.omit(props.search || {}, ["cardProps", "tabName"]), {
123
- "items": formItems.value,
89
+ "items": props.items,
124
90
  "loading": props.loading,
125
91
  "style": {
126
92
  marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false ? 0 : "40px"
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:45:47\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, ColumnGroupType, ColumnsType, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nconst flatColumnsHandle = (columns: ColumnsType) => {\n const flatColumns: ColumnsType = []\n const loopColumns = (columns: ColumnsType) => {\n columns.forEach((column: ColumnGroupType) => {\n if (column?.children?.length) {\n loopColumns(column?.children)\n } else {\n flatColumns.push(column)\n }\n })\n }\n loopColumns(columns)\n return flatColumns\n}\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n columns: {\n type: Array as PropType<ColumnsType>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\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 onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n const formItems = computed(() => {\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n } as ProFormItemType\n })\n })\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={formItems.value}\n loading={props.loading}\n style={{ marginBlockEnd: props.search?.cardProps !== false ? 0 : '40px' }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","flatColumnsHandle","columns","flatColumns","loopColumns","forEach","column","children","length","push","props","prefixCls","String","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","formItems","computed","_a","_b","_c","items","filter","item","hideInSearch","map","width","tooltip","headerTooltip","name","dataIndex","submit","values","firstLoad","tabParams","value","tabList","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 22:12:43\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\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 onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{ marginBlockEnd: props.search?.cardProps !== false ? 0 : '40px' }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
@@ -13,6 +13,7 @@ var useFetchData = require('../hooks/useFetchData.js');
13
13
  var useContainer = require('../hooks/useContainer.js');
14
14
  var genProColumnToColumn = require('../utils/genProColumnToColumn.js');
15
15
  var columnSort = require('../utils/columnSort.js');
16
+ var flatColumnsHandle = require('../utils/flatColumnsHandle.js');
16
17
  var useMergedState = require('../hooks/useMergedState.js');
17
18
  var InteralTable = require('./InteralTable.vue.js');
18
19
  var ToolBar = require('./ToolBar/ToolBar.vue.js');
@@ -152,6 +153,28 @@ var Table = /* @__PURE__ */ vue.defineComponent({
152
153
  };
153
154
  return loopFilter(tableColumn.value);
154
155
  });
156
+ const formItems = vue.computed(() => {
157
+ var _a2, _b, _c;
158
+ if (!props.search) {
159
+ return [];
160
+ }
161
+ if ((_b = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b.length) {
162
+ return (_c = props.search) == null ? void 0 : _c.items;
163
+ }
164
+ return flatColumnsHandle.flatColumnsHandle(props.columns).filter((item) => {
165
+ if (item.hideInSearch) {
166
+ return false;
167
+ }
168
+ return true;
169
+ }).map((item) => {
170
+ return {
171
+ ...item,
172
+ width: void 0,
173
+ tooltip: item.headerTooltip,
174
+ name: item.dataIndex
175
+ };
176
+ });
177
+ });
155
178
  const preserveRecordsRef = vue.ref(/* @__PURE__ */ new Map());
156
179
  const getRowKey = vue.computed(() => typeof props.rowKey == "function" ? props.rowKey : (record) => {
157
180
  return record == null ? void 0 : record[props.rowKey || "id"];
@@ -199,7 +222,8 @@ var Table = /* @__PURE__ */ vue.defineComponent({
199
222
  };
200
223
  const hideToolbar = vue.computed(() => props.options === false && !props.title && !slots.title && !slots.toolbar && !slots.searchExtra && !slots.toolbarActions);
201
224
  const notNeedCardDom = vue.computed(() => {
202
- if (props.search === false && props.toolBar === false) {
225
+ var _a2;
226
+ if ((props.search === false || !((_a2 = formItems.value) == null ? void 0 : _a2.length)) && props.toolBar === false) {
203
227
  return true;
204
228
  }
205
229
  return false;
@@ -266,7 +290,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
266
290
  reset
267
291
  });
268
292
  return () => {
269
- var _a2, _b;
293
+ var _a2, _b, _c;
270
294
  const {
271
295
  expandIcon = slots.expandIcon,
272
296
  expandedRowRender = slots.expandedRowRender
@@ -335,9 +359,9 @@ var Table = /* @__PURE__ */ vue.defineComponent({
335
359
  }, attrs, {
336
360
  "class": [`${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + "-wrapper-bordered" : ""} ${"dark" === config.theme.value ? mergedPrefixCls.value + "-wrapper-dark" : ""} ${pollingLoading.value ? mergedPrefixCls.value + "-wrapper-polling" : ""}`, attrs.class],
337
361
  "onKeydown": onKeydown
338
- }), [props.search !== false && vue.createVNode(Form.default, {
362
+ }), [props.search !== false && !!((_c = formItems.value) == null ? void 0 : _c.length) && vue.createVNode(Form.default, {
339
363
  "prefixCls": mergedPrefixCls.value,
340
- "columns": props.columns,
364
+ "items": formItems.value,
341
365
  "cardBordered": props.cardBordered,
342
366
  "search": props.search,
343
367
  "loading": formSubmitLoading.value,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:48:57\n * @Description:\n */\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { omit } from '@pro-design-vue/utils'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type {\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const table = ref()\n const wrapperRef = ref<HTMLDivElement>()\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (wrapperRef.value) {\n wrapperRef.value.style.removeProperty(`--${mergedPrefixCls.value}-row-bg-${oldValue}`)\n wrapperRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (!props.request) {\n return Object.assign({}, pagination.value, props.pagination)\n }\n return Object.assign({}, props.pagination, pagination.value)\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined,\n {\n value: computed(() =>\n props.rowSelection ? props.rowSelection.selectedRowKeys : undefined,\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if (props.search === false && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n table.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(table.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(table.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(table.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return table.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return table.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return table.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return table.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return table.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return table.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={actions}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={table}\n {...omit(props, ['onChange', 'onUpdate:pagination', 'onUpdate:selectedRowKeys'])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={wrapperRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n columns={props.columns}\n cardBordered={props.cardBordered}\n search={props.search}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","table","ref","wrapperRef","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","mergedPrefixCls","_a","useProvideLevel","watch","newValue","oldValue","value","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","assign","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","counter","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","preserveRecordsRef","Map","getRowKey","rowKey","record","forEach","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","tooltip","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","onReset","onSubmit"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sources":["../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 20:19:29\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit } from '@pro-design-vue/utils'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const table = ref()\n const wrapperRef = ref<HTMLDivElement>()\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n\n // useStyle(primaryColor, mergedPrefixCls, theme)\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (wrapperRef.value) {\n wrapperRef.value.style.removeProperty(`--${mergedPrefixCls.value}-row-bg-${oldValue}`)\n wrapperRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n if (!props.request) {\n return Object.assign({}, pagination.value, props.pagination)\n }\n return Object.assign({}, props.pagination, pagination.value)\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (props.options && props.options.search) {\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const formItems = computed(() => {\n if (!props.search) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n } as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n onCleanSelected()\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined,\n {\n value: computed(() =>\n props.rowSelection ? props.rowSelection.selectedRowKeys : undefined,\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n props.options === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n table.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(table.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(table.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(table.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return table.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return table.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return table.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return table.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return table.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return table.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={props.options}\n actionsRef={actions}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions }}\n />\n )}\n <InteralTable\n ref={table}\n {...omit(props, ['onChange', 'onUpdate:pagination', 'onUpdate:selectedRowKeys'])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered('table', props.cardBordered)}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <div\n ref={wrapperRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered}\n search={props.search}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","table","ref","wrapperRef","prefixCls","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","mergedPrefixCls","_a","useProvideLevel","watch","newValue","oldValue","value","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","undefined","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","assign","formSubmitLoading","spinning","onFormSearchSubmit","values","options","search","success","onSearch","keyword","setFormSearch","counter","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","formItems","items","flatColumnsHandle","hideInSearch","width","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","forEach","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","bordered","theme","class","FormRender","beforeSearchSubmit","manual","onReset","onSubmit"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ColumnsType } from '../components/interface';
2
+ export declare const flatColumnsHandle: (columns: ColumnsType) => ColumnsType;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ const flatColumnsHandle = (columns) => {
4
+ const flatColumns = [];
5
+ const loopColumns = (columns2) => {
6
+ columns2.forEach((column) => {
7
+ var _a;
8
+ if ((_a = column == null ? void 0 : column.children) == null ? void 0 : _a.length) {
9
+ loopColumns(column == null ? void 0 : column.children);
10
+ } else {
11
+ flatColumns.push(column);
12
+ }
13
+ });
14
+ };
15
+ loopColumns(columns);
16
+ return flatColumns;
17
+ };
18
+
19
+ exports.flatColumnsHandle = flatColumnsHandle;
20
+ //# sourceMappingURL=flatColumnsHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatColumnsHandle.js","sources":["../../../../../../../packages/components/table/src/utils/flatColumnsHandle.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-19 11:40:56\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 18:32:59\n * @Description:\n */\n\nimport type { ColumnsType, ColumnGroupType } from '../components/interface'\n\nexport const flatColumnsHandle = (columns: ColumnsType) => {\n const flatColumns: ColumnsType = []\n const loopColumns = (columns: ColumnsType) => {\n columns.forEach((column: ColumnGroupType) => {\n if (column?.children?.length) {\n loopColumns(column?.children)\n } else {\n flatColumns.push(column)\n }\n })\n }\n loopColumns(columns)\n return flatColumns\n}\n"],"names":["columns"],"mappings":";;AAUO,MAAM,iBAAA,GAAoB,CAAC,OAAA,KAAyB;AACzD,EAAA,MAAM,cAA2B,EAAC;AAClC,EAAA,MAAM,WAAA,GAAc,CAACA,QAAAA,KAAyB;AAC5C,IAAAA,QAAAA,CAAQ,OAAA,CAAQ,CAAC,MAAA,KAA4B;AAbjD,MAAA,IAAA,EAAA;AAcM,MAAA,IAAA,CAAI,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,QAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,MAAA,EAAQ;AAC5B,QAAA,WAAA,CAAY,iCAAQ,QAAQ,CAAA;AAAA,MAC9B,CAAA,MAAO;AACL,QAAA,WAAA,CAAY,KAAK,MAAM,CAAA;AAAA,MACzB;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AACA,EAAA,WAAA,CAAY,OAAO,CAAA;AACnB,EAAA,OAAO,WAAA;AACT;;;;"}
package/lib/index.d.ts CHANGED
@@ -663,6 +663,7 @@ declare const __VLS_component_4: DefineComponent<__VLS_PublicProps, {}, {}, {},
663
663
  sidebarMixedWidth: number;
664
664
  sidebarTheme: ThemeModeType;
665
665
  sideCollapseWidth: number;
666
+ sidebarFixed: boolean;
666
667
  tabbarEnable: boolean;
667
668
  tabbarHeight: number;
668
669
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
@@ -2822,16 +2823,13 @@ declare const _default_17: DefineComponent<ExtractPropTypes<{
2822
2823
  declare const _default_2: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
2823
2824
  declare const _default_3: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2824
2825
  declare const _default_4: DefineComponent<Props_2, {
2826
+ start: typeof start;
2825
2827
  reset: typeof reset;
2826
2828
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2827
2829
  finished: () => any;
2828
- onFinished: () => any;
2829
- onStarted: () => any;
2830
2830
  started: () => any;
2831
2831
  }, string, PublicProps, Readonly<Props_2> & Readonly<{
2832
2832
  onFinished?: (() => any) | undefined;
2833
- onOnFinished?: (() => any) | undefined;
2834
- onOnStarted?: (() => any) | undefined;
2835
2833
  onStarted?: (() => any) | undefined;
2836
2834
  }>, {
2837
2835
  prefix: string;
@@ -6321,6 +6319,11 @@ export declare interface ProLayoutProps {
6321
6319
  * @default 48
6322
6320
  */
6323
6321
  sideCollapseWidth?: number;
6322
+ /**
6323
+ * 侧边栏是否固定
6324
+ * @default false
6325
+ */
6326
+ sidebarFixed?: boolean;
6324
6327
  /**
6325
6328
  * tab是否可见
6326
6329
  * @default true
@@ -9944,6 +9947,7 @@ export declare type SpanConfig = number | {
9944
9947
  xxl: number;
9945
9948
  };
9946
9949
  export declare const srRSIntl: IntlType;
9950
+ declare function start(): void;
9947
9951
  declare const stepsFormProps: () => {
9948
9952
  current: {
9949
9953
  type: NumberConstructor;