pro-design-vue 1.2.15 → 1.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +142 -83
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +142 -83
- package/es/components/form/src/components/FormGroup.d.ts +12 -12
- package/es/components/form/src/components/FormList.d.ts +12 -12
- package/es/components/form/src/components/FormListContainer.d.ts +12 -12
- package/es/components/form/src/components/FormListItem.d.ts +12 -12
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +12 -12
- package/es/components/table/src/components/Alert.vue.d.ts +2 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +132 -117
- package/es/components/table/src/components/Table.d.ts +132 -117
- package/es/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -3
- package/es/components/table/src/components/interface.d.ts +183 -162
- package/es/index.d.ts +193 -171
- package/es/packages/components/table/src/components/Alert.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Alert.vue2.mjs +4 -7
- package/es/packages/components/table/src/components/Alert.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +53 -19
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue.mjs +26 -2
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/ToolBar/ToolBar.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +58 -54
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +12 -12
- package/lib/components/form/src/components/FormList.d.ts +12 -12
- package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
- package/lib/components/form/src/components/FormListItem.d.ts +12 -12
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +12 -12
- package/lib/components/table/src/components/Alert.vue.d.ts +2 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +132 -117
- package/lib/components/table/src/components/Table.d.ts +132 -117
- package/lib/components/table/src/components/ToolBar/ToolBar.vue.d.ts +1 -3
- package/lib/components/table/src/components/interface.d.ts +183 -162
- package/lib/index.d.ts +193 -171
- package/lib/packages/components/table/src/components/Alert.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Alert.vue2.js +4 -7
- package/lib/packages/components/table/src/components/Alert.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +53 -19
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue.js +25 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/ToolBar/ToolBar.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +58 -54
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/toolbar.less +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.mjs","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-10-22 15:23:08\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, prefixCls: antPrefixCls, dark } = useProConfigInject()\n\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n } else {\n onCleanSelected()\n }\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = () => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange([], [])\n }\n props['onUpdate:selectedRowKeys']?.([], [])\n setSelectedRowKeys([])\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const cardBodyStyle = computed(() => {\n if (props.cardProps === false || notNeedCardDom.value === true) return {}\n\n if (hideToolbar.value) {\n return {\n padding: 0,\n }\n }\n\n // if (props.toolBar) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n\n // if (props.toolBar && props.pagination === false) {\n // return {\n // paddingBlockStart: 0,\n // }\n // }\n if (props.pagination !== false) {\n return {\n paddingBlockEnd: 0,\n }\n }\n return {}\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n cleanSelected: onCleanSelected,\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n counter.hasFullScreen.value = false\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n counter.hasFullScreen.value = true\n }\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n }}\n onFormSearchSubmit={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {!!props.rowSelection &&\n props.rowSelection?.type !== 'radio' &&\n props.alwaysShowAlert !== false &&\n !!selectedRowKeys.value!.length && (\n <Alert\n prefixCls={mergedPrefixCls.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n onCleanSelected={onCleanSelected}\n v-slots={{ info: slots.alertInfo, actions: slots.alertActions, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <ConfigProvider\n prefixCls={antPrefixCls?.value}\n getPopupContainer={() => {\n if (counter.hasFullScreen.value && counter.rootDomRef.value) {\n return counter.rootDomRef.value as any as HTMLElement\n }\n return document.body\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","prefixCls","antPrefixCls","dark","useProConfigInject","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","cleanSelected","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","document","fullscreenEnabled","fullscreenElement","exitFullscreen","hasFullScreen","requestFullscreen","newValues","formSearch","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","_b","_c","_d","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.mjs","sources":["../../../../../../../../packages/components/table/src/components/Table.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 09:26:05\n * @LastEditors: shen\n * @LastEditTime: 2025-10-23 14:12:31\n * @Description:\n */\n\nimport { defineComponent, ref, computed, watch, unref } from 'vue'\nimport { Card, ConfigProvider } from 'ant-design-vue'\nimport { theme } from './config'\nimport { useProvideHover } from '../hooks/useHover'\nimport { useProvideLevel } from '../hooks/useLevel'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { convertChildrenToColumns, genColumnKey, isBordered } from '../utils/util'\nimport { tableProps } from './interface'\nimport { useFetchData } from '../hooks/useFetchData'\nimport { useContainer } from '../hooks/useContainer'\nimport { genProColumnToColumn } from '../utils/genProColumnToColumn'\nimport { columnSort } from '../utils/columnSort'\nimport { flatColumnsHandle } from '../utils/flatColumnsHandle'\nimport { omit, omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport useMergedState from '../hooks/useMergedState'\nimport InteralTable from './InteralTable.vue'\nimport ToolBar from './ToolBar/ToolBar.vue'\nimport Alert from './Alert.vue'\nimport FormRender from './Form/Form'\n\nimport type { ProFormItemType } from '@pro-design-vue/components/form'\nimport type {\n ColumnsType,\n GetRowKey,\n Key,\n OptionSearchProps,\n Position,\n RequestData,\n SorterResult,\n TableRowSelection,\n} from './interface'\nimport type { AppendCellRange } from '../hooks/RangeInterface'\nimport type { CustomSlotsType } from '../utils/type'\nimport type { ContextSlots } from './context/TableSlotsContext'\n\nexport default defineComponent({\n name: 'ProTable',\n inheritAttrs: false,\n props: tableProps(),\n slots: {} as CustomSlotsType<ContextSlots>,\n emits: ['keydown'],\n setup(props, { expose, slots, attrs, emit }) {\n const tableRef = ref()\n const { table, prefixCls: antPrefixCls, dark } = useProConfigInject()\n const prefixCls = usePrefixCls('table')\n\n const { hoverRowKey } = useProvideHover({\n rowHoverDelay: computed(() => props.rowHoverDelay),\n rowHover: computed(() => props.rowHover ?? table?.value?.rowHover),\n })\n\n const mergedPrefixCls = computed(() => props.prefixCls ?? prefixCls)\n const mergeOptions = computed(() => {\n if (props.options === false) {\n return false\n }\n if (props.options === undefined) {\n return table?.value?.options\n }\n return { ...table?.value?.options, ...props.options }\n })\n\n useProvideLevel()\n\n watch(\n hoverRowKey,\n (newValue, oldValue) => {\n if (counter.rootDomRef.value) {\n counter.rootDomRef.value.style.removeProperty(\n `--${mergedPrefixCls.value}-row-bg-${oldValue}`,\n )\n counter.rootDomRef.value.style.setProperty(\n `--${mergedPrefixCls.value}-row-bg-${newValue}`,\n `hsl(var(--pro-accent))`,\n )\n }\n },\n { flush: 'post' },\n )\n\n const onKeydown = (ev: KeyboardEvent) => {\n ev.stopPropagation()\n emit('keydown', ev)\n }\n\n const fetchData = computed(() => {\n if (!props.request) return undefined\n\n return async (\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => {\n const actionParams = {\n ...(params || {}),\n ...(props.params || {}),\n }\n const response = await props.request!(actionParams, sorters, filter)\n return response as RequestData\n }\n })\n\n const actions = useFetchData(fetchData, props)\n const { dataSource, loading, pagination, pollingLoading, onTableChange, reload, reset } =\n actions\n const mergePagination = computed(() => {\n if (props.pagination === false) {\n return false\n }\n return pagination.value\n })\n\n const formSubmitLoading = computed(() => {\n if (typeof loading.value === 'boolean') {\n return loading.value\n } else if (typeof loading.value === 'object') {\n return loading.value.spinning\n } else {\n return undefined\n }\n })\n\n const onFormSearchSubmit = (values: any) => {\n // 判断search.onSearch返回值决定是否更新formSearch\n if (mergeOptions.value && mergeOptions.value.search) {\n const { name = 'keyword' } =\n mergeOptions.value.search === true ? {} : mergeOptions.value.search\n\n /** 如果传入的 onSearch 返回值为 false,则不要把options.search.name对应的值set到formSearch */\n const success = (mergeOptions.value.search as OptionSearchProps)?.onSearch?.(\n actions.keyword.value!,\n )\n\n if (success !== false) {\n actions.setFormSearch({\n ...values,\n [name]: actions.keyword.value,\n })\n return\n }\n }\n\n actions.setFormSearch(values)\n }\n\n const counter = useContainer(props)\n\n // ---------- 列计算相关 start -----------------\n const tableColumn = computed(() => {\n return genProColumnToColumn({\n columns: props.columns,\n counter,\n }).sort(columnSort(counter.columnsMap.value))\n })\n\n watch(\n tableColumn,\n () => {\n if (tableColumn.value && tableColumn.value.length > 0) {\n // 重新生成key的字符串用于排序\n const columnKeys = tableColumn.value.map((item) => genColumnKey(item.key, item.index))\n counter.setSortKeyColumns(columnKeys)\n }\n },\n {\n immediate: true,\n },\n )\n\n /** 需要遍历一下,不然不支持嵌套表格 */\n const columns = computed(() => {\n const loopFilter = (column: any[]): any[] => {\n return column\n .map((item) => {\n // 删掉不应该显示的\n const columnKey = genColumnKey(item.key, item.index)\n const config = counter.columnsMap.value[columnKey]\n if (config && config.show === false) {\n return false\n }\n if (item.children) {\n return {\n ...item,\n children: loopFilter(item.children),\n }\n }\n return item\n })\n .filter(Boolean)\n }\n return loopFilter(tableColumn.value)\n })\n\n const onColumnsChange = (rawColumns, action: 'resize' | 'drag') => {\n const newMap = { ...counter.columnsMap.value }\n const newColumns = rawColumns.map((item) => genColumnKey(item.key, item.index))\n if (action === 'resize') {\n const loopSetWidth = (rawColumns) => {\n rawColumns.forEach((item) => {\n const key = genColumnKey(item.key, item.index)\n const newSetting = { ...newMap[key] }\n if (item.children?.length) {\n loopSetWidth(item.children)\n } else {\n newSetting.width = item.width\n newMap[key] = newSetting\n }\n })\n }\n loopSetWidth(rawColumns)\n } else {\n newColumns.forEach((key, order) => {\n newMap[key] = { ...(newMap[key] || {}), order }\n })\n }\n counter.setColumnsMap(newMap)\n counter.setSortKeyColumns(newColumns)\n props['onUpdate:columns']?.(rawColumns as ColumnsType, action)\n }\n const formItems = computed(() => {\n if (props.search === false) {\n return []\n }\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return omitKeysAndUndefined(\n {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n },\n ['dataIndex', 'width'],\n ) as ProFormItemType\n })\n })\n\n /** SelectedRowKeys受控处理selectRows */\n const preserveRecordsRef = ref(new Map<any, any>())\n // ============================ RowKey ============================\n const getRowKey = computed<GetRowKey>(() =>\n typeof props.rowKey == 'function'\n ? props.rowKey\n : (record: Record<string, any>) => {\n return record?.[(props.rowKey || 'id') as string]\n },\n )\n\n watch([() => dataSource.value, getRowKey], () => {\n if (dataSource.value?.length) {\n dataSource.value.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n } else {\n onCleanSelected()\n }\n })\n\n /** 单选多选的相关逻辑 */\n const [selectedRowKeys, setSelectedRowKeys] = useMergedState<(string | number)[] | undefined>(\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection?.defaultSelectedRowKeys || [] : undefined),\n {\n value: computed(\n () =>\n props.selectedRowKeys ||\n (props.rowSelection ? props.rowSelection.selectedRowKeys : undefined),\n ),\n },\n )\n\n const rowSelection = computed<TableRowSelection>(() => ({\n selectedRowKeys: selectedRowKeys.value,\n preserveSelectedRowKeys: true,\n ...props.rowSelection,\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(selectedRowKeys, selectedRows)\n }\n props['onUpdate:selectedRowKeys']?.(selectedRowKeys, selectedRows)\n setSelectedRowKeys(selectedRowKeys)\n },\n }))\n\n const selectedRows = computed(() =>\n selectedRowKeys.value?.map((key) => preserveRecordsRef.value?.get(key)),\n )\n\n const onCleanSelected = (keys?: Key[]) => {\n let newSelectedRowKeys: Key[] = []\n if (keys?.length) {\n newSelectedRowKeys = selectedRowKeys.value?.filter((key) => !keys.includes(key)) ?? []\n }\n if (props.rowSelection && props.rowSelection.onChange) {\n props.rowSelection.onChange(newSelectedRowKeys, selectedRows.value ?? [])\n }\n props['onUpdate:selectedRowKeys']?.(newSelectedRowKeys, selectedRows.value ?? [])\n setSelectedRowKeys(newSelectedRowKeys)\n }\n\n const setRowSelected = (keys: Key[], rows?: []) => {\n if (keys?.length) {\n if (rows?.length) {\n rows.forEach((data) => {\n const dataRowKey = getRowKey.value(data, -1)\n preserveRecordsRef.value.set(dataRowKey, data)\n })\n }\n const newKeys = Array.from(new Set([...(selectedRowKeys.value ?? []), ...keys]))\n setSelectedRowKeys(newKeys)\n }\n }\n\n const hideToolbar = computed(\n () =>\n mergeOptions.value === false &&\n !props.title &&\n !slots.title &&\n !slots.toolbar &&\n !slots.searchExtra &&\n !slots.toolbarActions,\n )\n\n /**\n * 是否需要 card 来包裹\n */\n const notNeedCardDom = computed(() => {\n if ((props.search === false || !formItems.value?.length) && props.toolBar === false) {\n return true\n }\n return false\n })\n\n const 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 const [mergeShowAlert, setMergeShowAlert] = useMergedState<boolean>(\n !!selectedRowKeys.value?.length,\n {\n value: computed(() => props.showAlert!),\n onChange(val) {\n props['onUpdate:showAlert']?.(val)\n },\n },\n )\n\n watch(selectedRowKeys, (selectedKeys) => {\n if (selectedKeys?.length) {\n setMergeShowAlert(true)\n } else {\n setMergeShowAlert(false)\n }\n })\n\n expose({\n scrollTo: (pos: string | Position, behavior: 'auto' | 'smooth') => {\n tableRef.value?.scrollTo(pos, behavior)\n },\n scrollLeft: computed(() => {\n return unref(tableRef.value?.scrollLeft)\n }),\n scrollTop: computed(() => {\n return unref(tableRef.value?.scrollTop)\n }),\n bodyRef: computed(() => {\n return unref(tableRef.value?.bodyRef)\n }),\n copySelectedRange: () => {\n return tableRef.value?.copySelectedRange()\n },\n getSelectedRange: () => {\n return tableRef.value?.getSelectedRange()\n },\n clearAllSelectedRange: () => {\n return tableRef.value?.clearAllSelectedRange()\n },\n clearDataSource: () => {\n dataSource.value = []\n },\n cleanSelected: onCleanSelected,\n setSelected: setRowSelected,\n appendCellToSelectedRange: (params: AppendCellRange) => {\n return tableRef.value?.appendCellToSelectedRange(params)\n },\n openEditor: (cellInfos: any[]) => {\n return tableRef.value?.openEditor(cellInfos)\n },\n closeEditor: (cellInfos: any[]) => {\n return tableRef.value?.closeEditor(cellInfos)\n },\n reload,\n reset,\n })\n\n return () => {\n const { expandIcon = slots.expandIcon, expandedRowRender = slots.expandedRowRender } = props\n const mergeColumns = columns.value || convertChildrenToColumns(slots.default?.()) || []\n let tableDom = (\n <>\n {props.toolBar !== false && !hideToolbar.value && (\n <ToolBar\n title={props.title}\n subTitle={props.subTitle}\n tooltip={props.tooltip}\n prefixCls={mergedPrefixCls.value}\n options={mergeOptions.value}\n actionsRef={{\n ...actions,\n fullScreen: () => {\n if (!counter.rootDomRef.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n counter.hasFullScreen.value = false\n } else {\n counter.rootDomRef.value?.requestFullscreen()\n counter.hasFullScreen.value = true\n }\n },\n }}\n tableColumn={tableColumn.value}\n selectedRowKeys={selectedRowKeys.value!}\n selectedRows={selectedRows.value}\n v-slots={{\n toolbar: slots.toolbar,\n title: slots.title,\n searchExtra: slots.searchExtra,\n actions: slots.toolbarActions,\n bottom: slots.toolbarBottom,\n top: slots.toolbarTop,\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 mergeShowAlert.value && (\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, alert: slots.alert }}\n />\n )}\n <InteralTable\n ref={tableRef}\n {...omit(props, [\n 'onChange',\n 'onUpdate:pagination',\n 'onUpdate:selectedRowKeys',\n 'onUpdate:columns',\n ])}\n prefixCls={mergedPrefixCls.value}\n columns={mergeColumns || []}\n size={counter.tableSize.value}\n dataSource={dataSource.value}\n loading={loading.value}\n rowSelection={props.rowSelection ? rowSelection.value : undefined}\n pagination={mergePagination.value}\n expandIcon={expandIcon}\n expandedRowRender={expandedRowRender}\n hasContextmenuPopup={!!slots.contextmenuPopup}\n onChange={onTableChange}\n onUpdate:columns={onColumnsChange}\n v-slots={{\n ...slots,\n footer: props.footer || slots.footer,\n }}\n />\n </>\n )\n\n if (!(props.cardProps === false || notNeedCardDom.value)) {\n tableDom = (\n <Card\n bordered={isBordered(\n 'table',\n props.cardBordered ?? table?.value?.cardBordered ?? dark?.value,\n )}\n bodyStyle={cardBodyStyle.value}\n {...props.cardProps}\n >\n {tableDom}\n </Card>\n )\n }\n\n return (\n <ConfigProvider\n prefixCls={antPrefixCls?.value}\n getPopupContainer={() => {\n if (counter.hasFullScreen.value && counter.rootDomRef.value) {\n return counter.rootDomRef.value as any as HTMLElement\n }\n return document.body\n }}\n >\n <div\n ref={counter.rootDomRef}\n {...attrs}\n class={[\n `${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + '-wrapper-bordered' : ''} ${\n 'dark' === theme.value ? mergedPrefixCls.value + '-wrapper-dark' : ''\n } ${pollingLoading.value ? mergedPrefixCls.value + '-wrapper-polling' : ''}`,\n attrs.class,\n ]}\n onKeydown={onKeydown}\n >\n {props.search !== false && !!formItems.value?.length && (\n <FormRender\n prefixCls={mergedPrefixCls.value}\n items={formItems.value}\n cardBordered={props.cardBordered ?? table?.value?.cardBordered ?? dark?.value}\n search={props.search}\n tableShowCard={props.cardProps !== false}\n loading={formSubmitLoading.value}\n beforeSearchSubmit={props.beforeSearchSubmit}\n manual={props.manual || props.manualRequest}\n v-slots={slots}\n onReset={props.onReset}\n onSubmit={props.onSubmit}\n onFormSearchSubmit={onFormSearchSubmit}\n onSearchTabChange={(newValues) => {\n actions.setFormSearch({\n ...actions.formSearch.value,\n ...newValues,\n })\n }}\n />\n )}\n {tableDom}\n </div>\n </ConfigProvider>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","tableProps","slots","emits","setup","expose","attrs","emit","tableRef","ref","table","prefixCls","antPrefixCls","dark","useProConfigInject","usePrefixCls","hoverRowKey","useProvideHover","rowHoverDelay","computed","rowHover","_a","_b","value","mergedPrefixCls","mergeOptions","options","undefined","useProvideLevel","watch","newValue","oldValue","counter","rootDomRef","style","removeProperty","setProperty","flush","onKeydown","ev","stopPropagation","fetchData","request","params","sorters","filter","actionParams","response","actions","useFetchData","dataSource","loading","pagination","pollingLoading","onTableChange","reload","reset","mergePagination","formSubmitLoading","spinning","onFormSearchSubmit","values","search","success","onSearch","keyword","setFormSearch","useContainer","tableColumn","genProColumnToColumn","columns","sort","columnSort","columnsMap","length","columnKeys","map","item","genColumnKey","key","index","setSortKeyColumns","immediate","loopFilter","column","columnKey","config","show","children","Boolean","onColumnsChange","rawColumns","action","newMap","newColumns","loopSetWidth","forEach","newSetting","width","order","setColumnsMap","formItems","items","flatColumnsHandle","hideInSearch","omitKeysAndUndefined","tooltip","headerTooltip","dataIndex","preserveRecordsRef","Map","getRowKey","rowKey","record","data","dataRowKey","set","onCleanSelected","selectedRowKeys","setSelectedRowKeys","useMergedState","rowSelection","defaultSelectedRowKeys","preserveSelectedRowKeys","onChange","selectedRows","get","keys","newSelectedRowKeys","includes","setRowSelected","rows","newKeys","Array","from","Set","hideToolbar","title","toolbar","searchExtra","toolbarActions","notNeedCardDom","toolBar","cardBodyStyle","cardProps","padding","paddingBlockEnd","mergeShowAlert","setMergeShowAlert","showAlert","val","selectedKeys","scrollTo","pos","behavior","scrollLeft","unref","scrollTop","bodyRef","copySelectedRange","getSelectedRange","clearAllSelectedRange","clearDataSource","cleanSelected","setSelected","appendCellToSelectedRange","openEditor","cellInfos","closeEditor","expandIcon","expandedRowRender","mergeColumns","convertChildrenToColumns","default","tableDom","_createVNode","_Fragment","ToolBar","subTitle","fullScreen","document","fullscreenEnabled","fullscreenElement","exitFullscreen","hasFullScreen","requestFullscreen","newValues","formSearch","bottom","toolbarBottom","top","toolbarTop","type","alwaysShowAlert","Alert","info","alertInfo","alertActions","alert","InteralTable","_mergeProps","omit","tableSize","contextmenuPopup","footer","_tableDom","Card","isBordered","cardBordered","ConfigProvider","getPopupContainer","body","_c","_d","bordered","theme","class","FormRender","beforeSearchSubmit","manual","manualRequest","onReset","onSubmit"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _sfc_main from './ToolBar.vue2.mjs';
|
|
2
|
-
import { resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, renderSlot,
|
|
2
|
+
import { resolveComponent, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, renderSlot, createBlock, createTextVNode, toDisplayString, withCtx, createVNode, Fragment, mergeProps } from 'vue';
|
|
3
3
|
import _export_sfc from '../../../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
4
|
|
|
5
5
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -17,6 +17,18 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
17
17
|
class: normalizeClass(`${_ctx.prefixCls}-toolbar`)
|
|
18
18
|
},
|
|
19
19
|
[
|
|
20
|
+
!!_ctx.$slots.top ? (openBlock(), createElementBlock(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
key: 0,
|
|
24
|
+
class: normalizeClass(`${_ctx.prefixCls}-toolbar-top`)
|
|
25
|
+
},
|
|
26
|
+
[
|
|
27
|
+
renderSlot(_ctx.$slots, "top")
|
|
28
|
+
],
|
|
29
|
+
2
|
|
30
|
+
/* CLASS */
|
|
31
|
+
)) : createCommentVNode("v-if", true),
|
|
20
32
|
createElementVNode(
|
|
21
33
|
"div",
|
|
22
34
|
{
|
|
@@ -178,7 +190,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
178
190
|
],
|
|
179
191
|
2
|
|
180
192
|
/* CLASS */
|
|
181
|
-
)
|
|
193
|
+
),
|
|
194
|
+
!!_ctx.$slots.bottom ? (openBlock(), createElementBlock(
|
|
195
|
+
"div",
|
|
196
|
+
{
|
|
197
|
+
key: 1,
|
|
198
|
+
class: normalizeClass(`${_ctx.prefixCls}-toolbar-bottom`)
|
|
199
|
+
},
|
|
200
|
+
[
|
|
201
|
+
renderSlot(_ctx.$slots, "bottom")
|
|
202
|
+
],
|
|
203
|
+
2
|
|
204
|
+
/* CLASS */
|
|
205
|
+
)) : createCommentVNode("v-if", true)
|
|
182
206
|
],
|
|
183
207
|
2
|
|
184
208
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolBar.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 19:10:27\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createTextVNode","_createBlock","_createVNode","_Fragment","_mergeProps","_createCommentVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolBar.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-23 14:30:45\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_createTextVNode","_createBlock","_createVNode","_Fragment","_mergeProps","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolBar.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-12 19:10:27\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolBar.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/ToolBar/ToolBar.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-06 16:03:18\n * @LastEditors: shen\n * @LastEditTime: 2025-10-23 14:30:45\n * @Description:\n-->\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { UseFetchDataAction } from '../../hooks/useFetchData'\nimport type { OptionConfig, Key, OptionSearchProps } from '../interface'\n\nimport { defineComponent, h, computed, onMounted } from 'vue'\nimport { Space, Tooltip } from 'ant-design-vue'\nimport {\n ReloadOutlined,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons-vue'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport Search from './Search.vue'\nimport DensityIcon from './DensityIcon.vue'\nimport FullscreenIcon from './FullscreenIcon.vue'\nimport ColumnSetting from '../ColumnSetting/ColumnSetting.vue'\n\nexport default defineComponent({\n name: 'TableToolBar',\n inheritAttrs: false,\n components: {\n Space,\n ProSearch: Search,\n DensityIcon,\n Tooltip,\n ColumnSetting,\n ReloadOutlined,\n InfoCircleOutlined,\n FullscreenIcon,\n },\n props: {\n prefixCls: String,\n title: String,\n subTitle: String,\n tooltip: String,\n options: { type: [Object, Boolean] as PropType<OptionConfig | false>, default: undefined },\n\n actionsRef: Object as PropType<UseFetchDataAction<any> & { fullScreen: () => void }>,\n selectedRowKeys: {\n type: Array as PropType<Key[]>,\n default: () => [],\n },\n selectedRows: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n tableColumn: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup(props) {\n const intl = useIntl()\n\n const defaultOptions = {\n reload: () => props.actionsRef?.reload(),\n density: true,\n setting: true,\n filter: false,\n search: false,\n fullScreen: () => props.actionsRef?.fullScreen(),\n }\n\n const mergeOptions = computed<OptionConfig>(() => {\n if (props.options === false) {\n return {}\n }\n return { ...defaultOptions, ...props.options }\n })\n\n const defaultSearchConfig = {\n onChange: (e) => {\n props.actionsRef!.keyword.value = e.target.value!\n },\n }\n\n const searchConfig: any = computed(() => {\n if (props.options === false) {\n return false\n }\n if (!mergeOptions.value!.search) return false\n\n if (mergeOptions.value!.search === true) return defaultSearchConfig\n\n return omit(\n {\n ...(mergeOptions.value!.search ?? {}),\n ...defaultSearchConfig,\n },\n ['name', 'onSearch'],\n )\n })\n\n const onSearch = async (keyword: string) => {\n if (!props.options || !props.options.search) {\n return\n }\n const { name = 'keyword' } = props.options.search === true ? {} : props.options.search\n\n /** 如果传入的 onSearch 返回值为 false,应该直接拦截请求 */\n const success = (props.options.search as OptionSearchProps)?.onSearch?.(keyword)\n\n if (success === false) return\n\n props.onFormSearchSubmit?.(\n omitUndefined({\n [name]: keyword,\n }),\n )\n }\n\n const onReload = (e) => {\n if (mergeOptions.value.reload === true) {\n defaultOptions.reload()\n } else if (typeof mergeOptions.value.reload === 'function') {\n mergeOptions.value.reload?.(e, props.actionsRef)\n }\n }\n\n const onFullScreen = (e) => {\n if (mergeOptions.value.fullScreen === true) {\n defaultOptions.fullScreen()\n } else if (typeof mergeOptions.value.fullScreen === 'function') {\n mergeOptions.value.fullScreen?.(e, props.actionsRef)\n }\n }\n\n onMounted(() => {\n if (searchConfig.value.value || searchConfig.value.defaultValue) {\n props.actionsRef!.keyword.value =\n searchConfig.value.value || searchConfig.value.defaultValue\n }\n })\n\n return {\n h,\n intl,\n mergeOptions,\n searchConfig,\n FilterOutlined,\n SettingOutlined,\n ColumnHeightOutlined,\n onSearch,\n onReload,\n onFullScreen,\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-toolbar`\">\n <div :class=\"`${prefixCls}-toolbar-top`\" v-if=\"!!$slots.top\">\n <slot name=\"top\" />\n </div>\n <div :class=\"`${prefixCls}-toolbar-container`\">\n <slot name=\"toolbar\">\n <div :class=\"`${prefixCls}-toolbar-left`\">\n <div :class=\"`${prefixCls}-toolbar-title`\" v-if=\"!!title || !!$slots.title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <div :class=\"`${prefixCls}-toolbar-subtitle`\">{{ subTitle }}</div>\n <Tooltip v-if=\"tooltip\" :title=\"tooltip\">\n <InfoCircleOutlined style=\"margin-inline-start: 3px\" />\n </Tooltip>\n </div>\n <Space :class=\"`${prefixCls}-toolbar-options`\" v-if=\"options !== false\">\n <template v-if=\"mergeOptions.search !== false && !(!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n </Space>\n </div>\n <div :class=\"`${prefixCls}-toolbar-right`\">\n <Space :class=\"`${prefixCls}-toolbar-actions`\">\n <template v-if=\"mergeOptions.search !== false && (!!title || !!$slots.title)\">\n <ProSearch v-bind=\"searchConfig\" @search=\"onSearch\" />\n <slot name=\"searchExtra\" :set-params=\"actionsRef!.setParams\" />\n </template>\n <slot name=\"actions\" :set-params=\"actionsRef!.setParams\"></slot>\n <template v-if=\"options !== false\">\n <Tooltip\n v-if=\"mergeOptions.reload !== false\"\n :title=\"intl.getMessage('tableToolBar.reload', '刷新')\"\n >\n <div :class=\"`${prefixCls}-toolbar-actions-item`\">\n <ReloadOutlined :spin=\"actionsRef?.pollingLoading.value\" @click=\"onReload\" />\n </div>\n </Tooltip>\n <DensityIcon v-if=\"mergeOptions.density !== false\" :prefixCls=\"prefixCls\" />\n <ColumnSetting\n v-if=\"mergeOptions.setting !== false\"\n :prefix-cls=\"prefixCls\"\n :columns=\"tableColumn\"\n />\n <span v-if=\"mergeOptions.fullScreen !== false\" @click=\"onFullScreen\">\n <FullscreenIcon :prefixCls=\"prefixCls\" />\n </span>\n </template>\n </Space>\n </div>\n </slot>\n </div>\n <div :class=\"`${prefixCls}-toolbar-bottom`\" v-if=\"!!$slots.bottom\">\n <slot name=\"bottom\" />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -229,60 +229,6 @@ const baseTableProps = () => ({
|
|
|
229
229
|
formatRangeCellText: {
|
|
230
230
|
type: Function
|
|
231
231
|
},
|
|
232
|
-
"onUpdate:selectedRowKeys": {
|
|
233
|
-
type: Function
|
|
234
|
-
},
|
|
235
|
-
onScroll: {
|
|
236
|
-
type: Function
|
|
237
|
-
},
|
|
238
|
-
"onUpdate:expandedRowKeys": {
|
|
239
|
-
type: Function
|
|
240
|
-
},
|
|
241
|
-
onResizeColumn: {
|
|
242
|
-
type: Function,
|
|
243
|
-
default: void 0
|
|
244
|
-
},
|
|
245
|
-
onRowDragEnd: {
|
|
246
|
-
type: Function,
|
|
247
|
-
default: void 0
|
|
248
|
-
},
|
|
249
|
-
onColumnDragEnd: {
|
|
250
|
-
type: Function,
|
|
251
|
-
default: void 0
|
|
252
|
-
},
|
|
253
|
-
onCellKeydown: {
|
|
254
|
-
type: Function,
|
|
255
|
-
default: void 0
|
|
256
|
-
},
|
|
257
|
-
onCellClick: {
|
|
258
|
-
type: Function,
|
|
259
|
-
default: void 0
|
|
260
|
-
},
|
|
261
|
-
onBeforeOpenEditor: {
|
|
262
|
-
type: Function,
|
|
263
|
-
default: void 0
|
|
264
|
-
},
|
|
265
|
-
onOpenEditor: {
|
|
266
|
-
type: Function,
|
|
267
|
-
default: void 0
|
|
268
|
-
},
|
|
269
|
-
onBeforeCloseEditor: {
|
|
270
|
-
type: Function,
|
|
271
|
-
default: void 0
|
|
272
|
-
},
|
|
273
|
-
onCloseEditor: {
|
|
274
|
-
type: Function,
|
|
275
|
-
default: void 0
|
|
276
|
-
},
|
|
277
|
-
"onUpdate:pagination": {
|
|
278
|
-
type: Function
|
|
279
|
-
},
|
|
280
|
-
"onUpdate:dataSource": {
|
|
281
|
-
type: Function
|
|
282
|
-
},
|
|
283
|
-
"onUpdate:columns": {
|
|
284
|
-
type: Function
|
|
285
|
-
},
|
|
286
232
|
columnEmptyText: {
|
|
287
233
|
type: [String, Boolean],
|
|
288
234
|
default: void 0
|
|
@@ -290,6 +236,7 @@ const baseTableProps = () => ({
|
|
|
290
236
|
toolBar: { type: Boolean, default: void 0 },
|
|
291
237
|
options: { type: [Object, Boolean], default: void 0 },
|
|
292
238
|
alwaysShowAlert: { type: Boolean, default: void 0 },
|
|
239
|
+
showAlert: { type: Boolean, default: void 0 },
|
|
293
240
|
// requst 相关配置
|
|
294
241
|
request: Function,
|
|
295
242
|
params: Object,
|
|
@@ -339,6 +286,63 @@ const baseTableProps = () => ({
|
|
|
339
286
|
horizontalScrollSticky: {
|
|
340
287
|
type: [Boolean, Object],
|
|
341
288
|
default: true
|
|
289
|
+
},
|
|
290
|
+
"onUpdate:selectedRowKeys": {
|
|
291
|
+
type: Function
|
|
292
|
+
},
|
|
293
|
+
onScroll: {
|
|
294
|
+
type: Function
|
|
295
|
+
},
|
|
296
|
+
"onUpdate:expandedRowKeys": {
|
|
297
|
+
type: Function
|
|
298
|
+
},
|
|
299
|
+
onResizeColumn: {
|
|
300
|
+
type: Function,
|
|
301
|
+
default: void 0
|
|
302
|
+
},
|
|
303
|
+
onRowDragEnd: {
|
|
304
|
+
type: Function,
|
|
305
|
+
default: void 0
|
|
306
|
+
},
|
|
307
|
+
onColumnDragEnd: {
|
|
308
|
+
type: Function,
|
|
309
|
+
default: void 0
|
|
310
|
+
},
|
|
311
|
+
onCellKeydown: {
|
|
312
|
+
type: Function,
|
|
313
|
+
default: void 0
|
|
314
|
+
},
|
|
315
|
+
onCellClick: {
|
|
316
|
+
type: Function,
|
|
317
|
+
default: void 0
|
|
318
|
+
},
|
|
319
|
+
onBeforeOpenEditor: {
|
|
320
|
+
type: Function,
|
|
321
|
+
default: void 0
|
|
322
|
+
},
|
|
323
|
+
onOpenEditor: {
|
|
324
|
+
type: Function,
|
|
325
|
+
default: void 0
|
|
326
|
+
},
|
|
327
|
+
onBeforeCloseEditor: {
|
|
328
|
+
type: Function,
|
|
329
|
+
default: void 0
|
|
330
|
+
},
|
|
331
|
+
onCloseEditor: {
|
|
332
|
+
type: Function,
|
|
333
|
+
default: void 0
|
|
334
|
+
},
|
|
335
|
+
"onUpdate:pagination": {
|
|
336
|
+
type: Function
|
|
337
|
+
},
|
|
338
|
+
"onUpdate:dataSource": {
|
|
339
|
+
type: Function
|
|
340
|
+
},
|
|
341
|
+
"onUpdate:columns": {
|
|
342
|
+
type: Function
|
|
343
|
+
},
|
|
344
|
+
"onUpdate:showAlert": {
|
|
345
|
+
type: Function
|
|
342
346
|
}
|
|
343
347
|
});
|
|
344
348
|
const tableProps = () => ({
|