pro-design-vue 1.0.0-rc.13 → 1.0.0-rc.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +157 -91
- 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 +157 -91
- package/es/components/form/src/layouts/QueryFilter.mjs +1 -2
- package/es/components/form/src/layouts/QueryFilter.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/Body.vue2.mjs +1 -2
- package/es/components/table/src/components/Body/Body.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs +1 -1
- package/es/components/table/src/components/Body/BodyCell.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs +3 -3
- package/es/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue.mjs.map +1 -1
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs +17 -16
- package/es/components/table/src/components/Drag/RowHandler.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs +18 -6
- package/es/components/table/src/components/Header/HeaderCellTitle.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderCellTitle.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue.mjs.map +1 -1
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs +1 -0
- package/es/components/table/src/components/Header/HeaderExtraCell.vue2.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/es/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/components/table/src/components/InteralTable.vue2.mjs +11 -5
- package/es/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/components/table/src/components/Table.d.ts +22 -4
- package/es/components/table/src/components/Table.mjs +45 -11
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/components/interface.d.ts +30 -3
- package/es/components/table/src/components/interface.mjs +9 -1
- package/es/components/table/src/components/interface.mjs.map +1 -1
- package/es/components/table/src/hooks/useCellProps.mjs +3 -1
- package/es/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/components/table/src/hooks/useContainer.mjs +1 -1
- package/es/components/table/src/hooks/useContainer.mjs.map +1 -1
- package/es/components/table/src/hooks/useFetchData.mjs +2 -1
- package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
- package/es/components/table/src/hooks/useHover.d.ts +3 -0
- package/es/components/table/src/hooks/useHover.mjs +3 -1
- package/es/components/table/src/hooks/useHover.mjs.map +1 -1
- package/es/components/table/src/hooks/usePagination.d.ts +1 -0
- package/es/components/table/src/hooks/usePagination.mjs +7 -2
- package/es/components/table/src/hooks/usePagination.mjs.map +1 -1
- package/es/components/table/src/utils/genProColumnToColumn.mjs +6 -4
- package/es/components/table/src/utils/genProColumnToColumn.mjs.map +1 -1
- package/es/components/table/src/utils/util.d.ts +1 -1
- package/es/components/table/src/utils/util.mjs +1 -1
- package/es/components/table/src/utils/util.mjs.map +1 -1
- package/es/index.d.ts +32 -3
- package/es/utils/validate.d.ts +1 -1
- package/es/utils/validate.mjs +1 -1
- package/es/utils/validate.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/layouts/QueryFilter.js +1 -2
- package/lib/components/form/src/layouts/QueryFilter.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/Body.vue2.js +1 -2
- package/lib/components/table/src/components/Body/Body.vue2.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js +1 -1
- package/lib/components/table/src/components/Body/BodyCell.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue2.js +3 -3
- package/lib/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue.js.map +1 -1
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js +17 -16
- package/lib/components/table/src/components/Drag/RowHandler.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js +17 -5
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderCellTitle.vue2.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue.js.map +1 -1
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js +1 -0
- package/lib/components/table/src/components/Header/HeaderExtraCell.vue2.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +18 -0
- package/lib/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/components/table/src/components/InteralTable.vue2.js +12 -6
- package/lib/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/components/table/src/components/Table.d.ts +22 -4
- package/lib/components/table/src/components/Table.js +44 -10
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/components/interface.d.ts +30 -3
- package/lib/components/table/src/components/interface.js +9 -1
- package/lib/components/table/src/components/interface.js.map +1 -1
- package/lib/components/table/src/hooks/useCellProps.js +3 -1
- package/lib/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/components/table/src/hooks/useContainer.js +1 -1
- package/lib/components/table/src/hooks/useContainer.js.map +1 -1
- package/lib/components/table/src/hooks/useFetchData.js +2 -1
- package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
- package/lib/components/table/src/hooks/useHover.d.ts +3 -0
- package/lib/components/table/src/hooks/useHover.js +2 -0
- package/lib/components/table/src/hooks/useHover.js.map +1 -1
- package/lib/components/table/src/hooks/usePagination.d.ts +1 -0
- package/lib/components/table/src/hooks/usePagination.js +7 -1
- package/lib/components/table/src/hooks/usePagination.js.map +1 -1
- package/lib/components/table/src/utils/genProColumnToColumn.js +6 -4
- package/lib/components/table/src/utils/genProColumnToColumn.js.map +1 -1
- package/lib/components/table/src/utils/util.d.ts +1 -1
- package/lib/components/table/src/utils/util.js +1 -1
- package/lib/components/table/src/utils/util.js.map +1 -1
- package/lib/index.d.ts +32 -3
- package/lib/utils/validate.d.ts +1 -1
- package/lib/utils/validate.js +1 -1
- package/lib/utils/validate.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +1 -1
@@ -116,7 +116,7 @@ const useContainer = (props) => {
|
|
116
116
|
var _a2;
|
117
117
|
return (_a2 = props.columnsState) == null ? void 0 : _a2.persistenceKey;
|
118
118
|
},
|
119
|
-
columnsMap,
|
119
|
+
() => columnsMap.value,
|
120
120
|
() => {
|
121
121
|
var _a2;
|
122
122
|
return (_a2 = props.columnsState) == null ? void 0 : _a2.persistenceType;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useContainer.js","sources":["../../../../../../../packages/components/table/src/hooks/useContainer.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-15 10:14:14\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:38:40\n * @Description:\n */\nimport type { ColumnsState, DensitySize, Key, ProTableProps } from '../components/interface'\nimport type { Ref, InjectionKey, ComputedRef } from 'vue'\n\nimport { computed, provide, inject, watch, ref } from 'vue'\nimport { genColumnKey } from '../utils/util'\nimport { useMergedState } from '@pro-design-vue/hooks'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\n setTableSize: (val: DensitySize) => void\n sortKeyColumns: Ref<string[]>\n setSortKeyColumns: (keys: string[]) => void\n columnsMap: Ref<Record<string, ColumnsState>>\n setColumnsMap: (val: Record<string, ColumnsState>) => void\n clearPersistenceStorage: () => void\n defaultColumnKeyMap: ComputedRef<{}>\n}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const sortKeyColumns = ref<string[]>([])\n\n const [tableSize, setTableSize] = useMergedState<DensitySize>(() => props.size || 'middle', {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\n })\n\n /** 默认全选中 */\n const defaultColumnKeyMap = computed(() => {\n if (props?.columnsState?.defaultValue) {\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n if (fixed || disable) {\n columnKeyMap[columnKey] = {\n fixed,\n disable,\n show: true,\n }\n }\n }\n })\n return { ...columnKeyMap, ...props.columnsState.defaultValue }\n }\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n columnKeyMap[columnKey] = {\n show: true,\n fixed,\n disable,\n }\n }\n })\n\n return columnKeyMap\n })\n\n const [columnsMap, setColumnsMap] = useMergedState<Record<string, ColumnsState>>(\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n return JSON.parse(storageValue)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n return (\n props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap.value\n )\n },\n {\n value: computed(() => props.columnsState?.value as any),\n onChange: props.columnsState?.onChange,\n },\n )\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n defaultColumnKeyMap,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n setColumnsMap(JSON.parse(storageValue))\n } else {\n setColumnsMap(defaultColumnKeyMap.value)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n const clearPersistenceStorage = () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n\n if (!persistenceKey || !persistenceType || typeof window === 'undefined') return\n\n /** 给持久化中设置数据 */\n const storage = window[persistenceType]\n try {\n storage?.removeItem(persistenceKey)\n } catch (error) {\n console.warn(error)\n }\n }\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n columnsMap,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n if (!props.columnsState?.persistenceKey || !props.columnsState?.persistenceType) {\n return\n }\n if (typeof window === 'undefined') return\n /** 给持久化中设置数据 */\n const { persistenceType, persistenceKey } = props.columnsState\n const storage = window[persistenceType]\n try {\n storage?.setItem(persistenceKey, JSON.stringify(columnsMap.value))\n } catch (error) {\n console.warn(error)\n clearPersistenceStorage()\n }\n },\n )\n\n const context = {\n props,\n tableSize,\n setTableSize,\n sortKeyColumns,\n setSortKeyColumns: (keys: string[]) => {\n sortKeyColumns.value = keys\n },\n columnsMap,\n setColumnsMap,\n clearPersistenceStorage,\n defaultColumnKeyMap,\n }\n\n provide(ContainerContextKey, context)\n\n return context\n}\n\nexport const useInjectContainer = () => {\n return inject(ContainerContextKey, {} as ContainerContextProps)\n}\n"],"names":["ref","useMergedState","computed","_a","columnKeyMap","genColumnKey","watch","provide","inject"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useContainer.js","sources":["../../../../../../../packages/components/table/src/hooks/useContainer.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-15 10:14:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-30 11:15:57\n * @Description:\n */\nimport type { ColumnsState, DensitySize, Key, ProTableProps } from '../components/interface'\nimport type { Ref, InjectionKey, ComputedRef } from 'vue'\n\nimport { computed, provide, inject, watch, ref } from 'vue'\nimport { genColumnKey } from '../utils/util'\nimport { useMergedState } from '@pro-design-vue/hooks'\n\nexport type ContainerContextProps = {\n props: ProTableProps\n tableSize: Ref<DensitySize>\n setTableSize: (val: DensitySize) => void\n sortKeyColumns: Ref<string[]>\n setSortKeyColumns: (keys: string[]) => void\n columnsMap: Ref<Record<string, ColumnsState>>\n setColumnsMap: (val: Record<string, ColumnsState>) => void\n clearPersistenceStorage: () => void\n defaultColumnKeyMap: ComputedRef<{}>\n}\n\nconst ContainerContextKey: InjectionKey<ContainerContextProps> = Symbol('ContainerContextKey')\nexport const useContainer = (props: ProTableProps): ContainerContextProps => {\n const sortKeyColumns = ref<string[]>([])\n\n const [tableSize, setTableSize] = useMergedState<DensitySize>(() => props.size || 'middle', {\n value: computed(() => props.size),\n onChange: props.onSizeChange,\n })\n\n /** 默认全选中 */\n const defaultColumnKeyMap = computed(() => {\n if (props?.columnsState?.defaultValue) {\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n if (fixed || disable) {\n columnKeyMap[columnKey] = {\n fixed,\n disable,\n show: true,\n }\n }\n }\n })\n return { ...columnKeyMap, ...props.columnsState.defaultValue }\n }\n const columnKeyMap = {}\n props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {\n const columnKey = genColumnKey(key ?? (dataIndex as Key), index)\n if (columnKey) {\n columnKeyMap[columnKey] = {\n show: true,\n fixed,\n disable,\n }\n }\n })\n return columnKeyMap\n })\n\n const [columnsMap, setColumnsMap] = useMergedState<Record<string, ColumnsState>>(\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n return JSON.parse(storageValue)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n return (\n props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap.value\n )\n },\n {\n value: computed(() => props.columnsState?.value as any),\n onChange: props.columnsState?.onChange,\n },\n )\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n defaultColumnKeyMap,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n if (persistenceKey && persistenceType && typeof window !== 'undefined') {\n /** 从持久化中读取数据 */\n const storage = window[persistenceType]\n try {\n const storageValue = storage?.getItem(persistenceKey)\n if (storageValue) {\n setColumnsMap(JSON.parse(storageValue))\n } else {\n setColumnsMap(defaultColumnKeyMap.value)\n }\n } catch (error) {\n console.warn(error)\n }\n }\n },\n {\n immediate: true,\n },\n )\n\n const clearPersistenceStorage = () => {\n const { persistenceType, persistenceKey } = props.columnsState || {}\n\n if (!persistenceKey || !persistenceType || typeof window === 'undefined') return\n\n /** 给持久化中设置数据 */\n const storage = window[persistenceType]\n try {\n storage?.removeItem(persistenceKey)\n } catch (error) {\n console.warn(error)\n }\n }\n\n watch(\n [\n () => props.columnsState?.persistenceKey,\n () => columnsMap.value,\n () => props.columnsState?.persistenceType,\n ],\n () => {\n if (!props.columnsState?.persistenceKey || !props.columnsState?.persistenceType) {\n return\n }\n if (typeof window === 'undefined') return\n /** 给持久化中设置数据 */\n const { persistenceType, persistenceKey } = props.columnsState\n const storage = window[persistenceType]\n try {\n storage?.setItem(persistenceKey, JSON.stringify(columnsMap.value))\n } catch (error) {\n console.warn(error)\n clearPersistenceStorage()\n }\n },\n )\n\n const context = {\n props,\n tableSize,\n setTableSize,\n sortKeyColumns,\n setSortKeyColumns: (keys: string[]) => {\n sortKeyColumns.value = keys\n },\n columnsMap,\n setColumnsMap,\n clearPersistenceStorage,\n defaultColumnKeyMap,\n }\n\n provide(ContainerContextKey, context)\n\n return context\n}\n\nexport const useInjectContainer = () => {\n return inject(ContainerContextKey, {} as ContainerContextProps)\n}\n"],"names":["ref","useMergedState","computed","_a","columnKeyMap","genColumnKey","watch","provide","inject"],"mappings":"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"}
|
@@ -8,8 +8,9 @@ var runFunction = require('../../../../utils/run-function.js');
|
|
8
8
|
|
9
9
|
const mergePropsAndPagination = ({ pagination }, intl) => {
|
10
10
|
if (pagination) {
|
11
|
-
const { current, pageSize, total, showTotal, showSizeChanger } = pagination;
|
11
|
+
const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination;
|
12
12
|
return {
|
13
|
+
...rest,
|
13
14
|
current: current || 1,
|
14
15
|
total: total || 0,
|
15
16
|
pageSize: pageSize || 10,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFetchData.js","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-09-09 14:15:32\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","ref","useIntl","computed","useMergedState","_a","isReactive","usePrevious","toRaw","useDebounceFn","runFunction","watch","onMounted","onActivated","onUnmounted","onDeactivated"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useFetchData.js","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-09-29 16:45:36\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger, ...rest } = pagination\n return {\n ...rest,\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","ref","useIntl","computed","useMergedState","_a","isReactive","usePrevious","toRaw","useDebounceFn","runFunction","watch","onMounted","onActivated","onUnmounted","onDeactivated"],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { Key } from '../components/interface';
|
2
2
|
import type { ComputedRef, Ref } from 'vue';
|
3
3
|
export interface HoverContextProps {
|
4
|
+
rowHover: ComputedRef<boolean | undefined>;
|
4
5
|
hoverRowKey: Ref<Key>;
|
5
6
|
hoverColumnKey: Ref<Key>;
|
6
7
|
handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void;
|
@@ -8,7 +9,9 @@ export interface HoverContextProps {
|
|
8
9
|
}
|
9
10
|
export declare const useProvideHover: (props: {
|
10
11
|
rowHoverDelay: ComputedRef<number>;
|
12
|
+
rowHover: ComputedRef<boolean | undefined>;
|
11
13
|
}) => {
|
14
|
+
rowHover: ComputedRef<boolean | undefined>;
|
12
15
|
hoverColumnKey: Ref<any, any>;
|
13
16
|
hoverRowKey: Ref<any, any>;
|
14
17
|
handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void;
|
@@ -24,6 +24,7 @@ const useProvideHover = (props) => {
|
|
24
24
|
}, props.rowHoverDelay.value + 50);
|
25
25
|
};
|
26
26
|
const hoverContext = {
|
27
|
+
rowHover: props.rowHover,
|
27
28
|
hoverColumnKey,
|
28
29
|
hoverRowKey,
|
29
30
|
handleCellHover,
|
@@ -34,6 +35,7 @@ const useProvideHover = (props) => {
|
|
34
35
|
};
|
35
36
|
const useInjectHover = () => {
|
36
37
|
return vue.inject(HoverContextKey, {
|
38
|
+
rowHover: vue.computed(() => void 0),
|
37
39
|
hoverRowKey: vue.ref(),
|
38
40
|
hoverColumnKey: vue.ref(),
|
39
41
|
handleCellHover: () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useHover.js","sources":["../../../../../../../packages/components/table/src/hooks/useHover.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 10:00:14\n * @LastEditors: shen\n * @LastEditTime:
|
1
|
+
{"version":3,"file":"useHover.js","sources":["../../../../../../../packages/components/table/src/hooks/useHover.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-01 10:00:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-28 11:16:25\n * @Description:\n */\nimport { ref, provide, inject, computed } from 'vue'\n\nimport type { Key } from '../components/interface'\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nexport interface HoverContextProps {\n rowHover: ComputedRef<boolean | undefined>\n hoverRowKey: Ref<Key>\n hoverColumnKey: Ref<Key>\n handleCellHover: (rowKey: Key, columnKey: Key, draggingRowKey: Key) => void\n handleCellBlur: () => void\n}\nconst HoverContextKey: InjectionKey<HoverContextProps> = Symbol('HoverContextKey')\nexport const useProvideHover = (props: {\n rowHoverDelay: ComputedRef<number>\n rowHover: ComputedRef<boolean | undefined>\n}) => {\n const hoverColumnKey = ref<any>()\n const hoverRowKey = ref<any>()\n let hoverColumnTimeout: any, hoverRowTimeout: any\n const handleCellHover = (rowKey: Key, columnKey: Key, draggingRowKey: Key) => {\n clearTimeout(hoverColumnTimeout)\n clearTimeout(hoverRowTimeout)\n if (!draggingRowKey) {\n hoverRowTimeout = setTimeout(() => {\n hoverRowKey.value = rowKey\n hoverColumnKey.value = columnKey\n }, props.rowHoverDelay.value)\n }\n }\n const handleCellBlur = () => {\n hoverColumnTimeout = setTimeout(() => {\n hoverRowKey.value = undefined\n hoverColumnKey.value = undefined\n }, props.rowHoverDelay.value + 50)\n }\n const hoverContext = {\n rowHover: props.rowHover,\n hoverColumnKey,\n hoverRowKey,\n handleCellHover,\n handleCellBlur,\n }\n\n provide(HoverContextKey, hoverContext)\n\n return hoverContext\n}\nexport const useInjectHover = () => {\n return inject(HoverContextKey, {\n rowHover: computed(() => undefined),\n hoverRowKey: ref(),\n hoverColumnKey: ref(),\n handleCellHover: () => {},\n handleCellBlur: () => {},\n })\n}\n"],"names":["ref","provide","inject","computed"],"mappings":";;;;AAkBA,MAAM,eAAA,GAAmD,OAAO,iBAAiB,CAAA;AAC1E,MAAM,eAAA,GAAkB,CAAC,KAAA,KAG1B;AACJ,EAAA,MAAM,iBAAiBA,OAAA,EAAS;AAChC,EAAA,MAAM,cAAcA,OAAA,EAAS;AAC7B,EAAA,IAAI,kBAAA,EAAyB,eAAA;AAC7B,EAAA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAAa,SAAA,EAAgB,cAAA,KAAwB;AAC5E,IAAA,YAAA,CAAa,kBAAkB,CAAA;AAC/B,IAAA,YAAA,CAAa,eAAe,CAAA;AAC5B,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,eAAA,GAAkB,WAAW,MAAM;AACjC,QAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,QAAA,cAAA,CAAe,KAAA,GAAQ,SAAA;AAAA,MACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AACA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,kBAAA,GAAqB,WAAW,MAAM;AACpC,MAAA,WAAA,CAAY,KAAA,GAAQ,MAAA;AACpB,MAAA,cAAA,CAAe,KAAA,GAAQ,MAAA;AAAA,IACzB,CAAA,EAAG,KAAA,CAAM,aAAA,CAAc,KAAA,GAAQ,EAAE,CAAA;AAAA,EACnC,CAAA;AACA,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,UAAU,KAAA,CAAM,QAAA;AAAA,IAChB,cAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAAC,WAAA,CAAQ,iBAAiB,YAAY,CAAA;AAErC,EAAA,OAAO,YAAA;AACT;AACO,MAAM,iBAAiB,MAAM;AAClC,EAAA,OAAOC,WAAO,eAAA,EAAiB;AAAA,IAC7B,QAAA,EAAUC,YAAA,CAAS,MAAM,MAAS,CAAA;AAAA,IAClC,aAAaH,OAAA,EAAI;AAAA,IACjB,gBAAgBA,OAAA,EAAI;AAAA,IACpB,iBAAiB,MAAM;AAAA,IAAC,CAAA;AAAA,IACxB,gBAAgB,MAAM;AAAA,IAAC;AAAA,GACxB,CAAA;AACH;;;;;"}
|
@@ -2,6 +2,7 @@ import type { ProTableProps } from '../components/interface';
|
|
2
2
|
import type { ComputedRef } from 'vue';
|
3
3
|
import type { TablePaginationConfig } from '../components/PaginationConfig';
|
4
4
|
export declare const DEFAULT_PAGE_SIZE = 10;
|
5
|
+
export declare const PAGE_SIZE_OPTIONS: string[];
|
5
6
|
export declare function getPaginationParam(pagination: TablePaginationConfig | boolean | undefined, mergedPagination: TablePaginationConfig): any;
|
6
7
|
type PaginationPos = {
|
7
8
|
bottom?: 'left' | 'right';
|
@@ -6,6 +6,7 @@ var vue = require('vue');
|
|
6
6
|
var devWarning = require('../utils/devWarning.js');
|
7
7
|
|
8
8
|
const DEFAULT_PAGE_SIZE = 10;
|
9
|
+
const PAGE_SIZE_OPTIONS = ["5", "10", "20", "50"];
|
9
10
|
function getPaginationParam(pagination, mergedPagination) {
|
10
11
|
const param = {
|
11
12
|
current: mergedPagination.current,
|
@@ -35,7 +36,11 @@ function extendsObject(...list) {
|
|
35
36
|
return result;
|
36
37
|
}
|
37
38
|
function usePagination(total, props, mergedData, onChange) {
|
38
|
-
const innerPagination = vue.reactive({
|
39
|
+
const innerPagination = vue.reactive({
|
40
|
+
current: 1,
|
41
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
42
|
+
pageSizeOptions: PAGE_SIZE_OPTIONS
|
43
|
+
});
|
39
44
|
const size = vue.computed(() => props.size);
|
40
45
|
const mergedPagination = vue.computed(() => {
|
41
46
|
const { pagination } = props;
|
@@ -121,6 +126,7 @@ function usePagination(total, props, mergedData, onChange) {
|
|
121
126
|
}
|
122
127
|
|
123
128
|
exports.DEFAULT_PAGE_SIZE = DEFAULT_PAGE_SIZE;
|
129
|
+
exports.PAGE_SIZE_OPTIONS = PAGE_SIZE_OPTIONS;
|
124
130
|
exports.default = usePagination;
|
125
131
|
exports.getPaginationParam = getPaginationParam;
|
126
132
|
//# sourceMappingURL=usePagination.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usePagination.js","sources":["../../../../../../../packages/components/table/src/hooks/usePagination.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 09:53:58\n * @LastEditors: shen\n * @LastEditTime: 2025-07-28 09:29:18\n * @Description:\n */\nimport type { ProTableProps } from '../components/interface'\nimport type { ComputedRef } from 'vue'\nimport type { TablePaginationConfig } from '../components/PaginationConfig'\nimport { reactive, computed, onBeforeUnmount } from 'vue'\nimport devWarning from '../utils/devWarning'\n\nexport const DEFAULT_PAGE_SIZE = 10\nexport function getPaginationParam(\n pagination: TablePaginationConfig | boolean | undefined,\n mergedPagination: TablePaginationConfig,\n) {\n const param: any = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize,\n }\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {}\n\n Object.keys(paginationObj).forEach((pageProp) => {\n const value = (mergedPagination as any)[pageProp]\n\n if (typeof value !== 'function') {\n param[pageProp] = value\n }\n })\n\n return param\n}\n\nfunction extendsObject<T extends object>(...list: T[]) {\n const result: T = {} as T\n\n list.forEach((obj) => {\n if (obj) {\n Object.keys(obj).forEach((key) => {\n const val = (obj as any)[key]\n if (val !== undefined) {\n ;(result as any)[key] = val\n }\n })\n }\n })\n\n return result\n}\n\ntype PaginationPos = {\n bottom?: 'left' | 'right'\n top?: 'left' | 'right'\n}\ninterface PaginationRes {\n mergedPagination: ComputedRef<TablePaginationConfig>\n onChange: (page: number, pageSize?: number) => void\n onShowSizeChange: (current: number, size: number) => void\n pos: ComputedRef<PaginationPos>\n refreshPagination: () => void\n pageData: ComputedRef<any[]>\n}\nexport default function usePagination(\n total: ComputedRef<number>,\n props: ProTableProps,\n mergedData: ComputedRef<any[]>,\n onChange?: (current: number, pageSize: number) => void,\n): PaginationRes {\n const innerPagination = reactive({ current: 1, pageSize: DEFAULT_PAGE_SIZE })\n const size = computed(() => props.size)\n\n const mergedPagination = computed(() => {\n const { pagination } = props\n if (props.pagination === false) return {}\n const { total: paginationTotal = 0, ...restPagination } =\n pagination && typeof pagination == 'object' ? pagination : {}\n const mP = extendsObject<Partial<TablePaginationConfig>>(innerPagination, restPagination, {\n total: paginationTotal > 0 ? paginationTotal : total.value,\n })\n\n const maxPage = Math.ceil((paginationTotal || total.value) / mP.pageSize!)\n if (mP.current! > maxPage) {\n mP.current = maxPage || 1\n }\n const parseSize = size.value === 'small' || size.value === 'middle' ? 'small' : undefined\n mP.size = mP.size || parseSize\n // delete mP.onChange\n return mP\n })\n\n const refreshPagination = (current = 1, pageSize?: number) => {\n innerPagination.current = current\n innerPagination.pageSize = pageSize || mergedPagination.value.pageSize || DEFAULT_PAGE_SIZE\n }\n\n let timer: any\n\n const onPageChange = (current: number, size?: number) => {\n clearTimeout(timer)\n timer = setTimeout(() => {\n if (\n !(\n current === mergedPagination.value.current &&\n (size || mergedPagination.value?.pageSize) === mergedPagination.value?.pageSize\n )\n ) {\n props.pagination && props.pagination.onChange?.(current, size)\n refreshPagination(current, size)\n onChange?.(current, size || mergedPagination.value?.pageSize || DEFAULT_PAGE_SIZE)\n }\n }, 0)\n }\n\n onBeforeUnmount(() => {\n clearTimeout(timer)\n })\n\n const pos = computed(() => {\n const direction = props.direction === 'rtl' ? 'left' : 'right'\n const { position } = mergedPagination.value\n const mergePos: PaginationPos = {}\n if (props.pagination === false) return {}\n\n if (position !== null && Array.isArray(position)) {\n const top = position.find((pos) => pos.indexOf('top') !== -1)\n const bottom = position.find((pos) => pos.indexOf('bottom') !== -1)\n const none = position.every((pos) => `${pos}` == 'none')\n if (!(top || bottom || none)) {\n mergePos.bottom = direction\n }\n if (top) {\n mergePos.top = top.toLowerCase().replace('top', '') as PaginationPos['top']\n }\n if (bottom) {\n mergePos.bottom = bottom.toLowerCase().replace('bottom', '') as PaginationPos['bottom']\n }\n } else {\n mergePos.bottom = direction\n }\n return mergePos\n })\n\n const pageData = computed(() => {\n const data = mergedData.value\n if (props.pagination === false || !mergedPagination.value.pageSize) return data\n const { current = 1, total = 0, pageSize = DEFAULT_PAGE_SIZE } = mergedPagination.value\n return data.length < total\n ? data.length > pageSize\n ? (devWarning(\n false,\n 'Table',\n '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.',\n ),\n data.slice((current - 1) * pageSize, current * pageSize))\n : data\n : data.slice((current - 1) * pageSize, current * pageSize)\n })\n\n return {\n mergedPagination,\n onChange: onPageChange,\n onShowSizeChange: (current: number, size: number) => {\n onPageChange(current, size)\n if (props.pagination !== false) {\n props.pagination?.onShowSizeChange?.(current, size)\n }\n },\n pos,\n refreshPagination,\n pageData,\n }\n}\n"],"names":["reactive","computed","size","onBeforeUnmount","pos","total","devWarning"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"usePagination.js","sources":["../../../../../../../packages/components/table/src/hooks/usePagination.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2022-11-05 09:53:58\n * @LastEditors: shen\n * @LastEditTime: 2025-09-28 09:28:14\n * @Description:\n */\nimport type { ProTableProps } from '../components/interface'\nimport type { ComputedRef } from 'vue'\nimport type { TablePaginationConfig } from '../components/PaginationConfig'\nimport { reactive, computed, onBeforeUnmount } from 'vue'\nimport devWarning from '../utils/devWarning'\n\nexport const DEFAULT_PAGE_SIZE = 10\nexport const PAGE_SIZE_OPTIONS = ['5', '10', '20', '50']\nexport function getPaginationParam(\n pagination: TablePaginationConfig | boolean | undefined,\n mergedPagination: TablePaginationConfig,\n) {\n const param: any = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize,\n }\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {}\n\n Object.keys(paginationObj).forEach((pageProp) => {\n const value = (mergedPagination as any)[pageProp]\n\n if (typeof value !== 'function') {\n param[pageProp] = value\n }\n })\n\n return param\n}\n\nfunction extendsObject<T extends object>(...list: T[]) {\n const result: T = {} as T\n\n list.forEach((obj) => {\n if (obj) {\n Object.keys(obj).forEach((key) => {\n const val = (obj as any)[key]\n if (val !== undefined) {\n ;(result as any)[key] = val\n }\n })\n }\n })\n\n return result\n}\n\ntype PaginationPos = {\n bottom?: 'left' | 'right'\n top?: 'left' | 'right'\n}\ninterface PaginationRes {\n mergedPagination: ComputedRef<TablePaginationConfig>\n onChange: (page: number, pageSize?: number) => void\n onShowSizeChange: (current: number, size: number) => void\n pos: ComputedRef<PaginationPos>\n refreshPagination: () => void\n pageData: ComputedRef<any[]>\n}\nexport default function usePagination(\n total: ComputedRef<number>,\n props: ProTableProps,\n mergedData: ComputedRef<any[]>,\n onChange?: (current: number, pageSize: number) => void,\n): PaginationRes {\n const innerPagination = reactive({\n current: 1,\n pageSize: DEFAULT_PAGE_SIZE,\n pageSizeOptions: PAGE_SIZE_OPTIONS,\n })\n const size = computed(() => props.size)\n\n const mergedPagination = computed(() => {\n const { pagination } = props\n if (props.pagination === false) return {}\n const { total: paginationTotal = 0, ...restPagination } =\n pagination && typeof pagination == 'object' ? pagination : {}\n const mP = extendsObject<Partial<TablePaginationConfig>>(innerPagination, restPagination, {\n total: paginationTotal > 0 ? paginationTotal : total.value,\n })\n\n const maxPage = Math.ceil((paginationTotal || total.value) / mP.pageSize!)\n if (mP.current! > maxPage) {\n mP.current = maxPage || 1\n }\n const parseSize = size.value === 'small' || size.value === 'middle' ? 'small' : undefined\n mP.size = mP.size || parseSize\n // delete mP.onChange\n return mP\n })\n\n const refreshPagination = (current = 1, pageSize?: number) => {\n innerPagination.current = current\n innerPagination.pageSize = pageSize || mergedPagination.value.pageSize || DEFAULT_PAGE_SIZE\n }\n\n let timer: any\n\n const onPageChange = (current: number, size?: number) => {\n clearTimeout(timer)\n timer = setTimeout(() => {\n if (\n !(\n current === mergedPagination.value.current &&\n (size || mergedPagination.value?.pageSize) === mergedPagination.value?.pageSize\n )\n ) {\n props.pagination && props.pagination.onChange?.(current, size)\n refreshPagination(current, size)\n onChange?.(current, size || mergedPagination.value?.pageSize || DEFAULT_PAGE_SIZE)\n }\n }, 0)\n }\n\n onBeforeUnmount(() => {\n clearTimeout(timer)\n })\n\n const pos = computed(() => {\n const direction = props.direction === 'rtl' ? 'left' : 'right'\n const { position } = mergedPagination.value\n const mergePos: PaginationPos = {}\n if (props.pagination === false) return {}\n\n if (position !== null && Array.isArray(position)) {\n const top = position.find((pos) => pos.indexOf('top') !== -1)\n const bottom = position.find((pos) => pos.indexOf('bottom') !== -1)\n const none = position.every((pos) => `${pos}` == 'none')\n if (!(top || bottom || none)) {\n mergePos.bottom = direction\n }\n if (top) {\n mergePos.top = top.toLowerCase().replace('top', '') as PaginationPos['top']\n }\n if (bottom) {\n mergePos.bottom = bottom.toLowerCase().replace('bottom', '') as PaginationPos['bottom']\n }\n } else {\n mergePos.bottom = direction\n }\n return mergePos\n })\n\n const pageData = computed(() => {\n const data = mergedData.value\n if (props.pagination === false || !mergedPagination.value.pageSize) return data\n const { current = 1, total = 0, pageSize = DEFAULT_PAGE_SIZE } = mergedPagination.value\n return data.length < total\n ? data.length > pageSize\n ? (devWarning(\n false,\n 'Table',\n '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.',\n ),\n data.slice((current - 1) * pageSize, current * pageSize))\n : data\n : data.slice((current - 1) * pageSize, current * pageSize)\n })\n\n return {\n mergedPagination,\n onChange: onPageChange,\n onShowSizeChange: (current: number, size: number) => {\n onPageChange(current, size)\n if (props.pagination !== false) {\n props.pagination?.onShowSizeChange?.(current, size)\n }\n },\n pos,\n refreshPagination,\n pageData,\n }\n}\n"],"names":["reactive","computed","size","onBeforeUnmount","pos","total","devWarning"],"mappings":";;;;;;;AAaO,MAAM,iBAAA,GAAoB;AAC1B,MAAM,iBAAA,GAAoB,CAAC,GAAA,EAAK,IAAA,EAAM,MAAM,IAAI;AAChD,SAAS,kBAAA,CACd,YACA,gBAAA,EACA;AACA,EAAA,MAAM,KAAA,GAAa;AAAA,IACjB,SAAS,gBAAA,CAAiB,OAAA;AAAA,IAC1B,UAAU,gBAAA,CAAiB;AAAA,GAC7B;AACA,EAAA,MAAM,gBAAgB,UAAA,IAAc,OAAO,UAAA,KAAe,QAAA,GAAW,aAAa,EAAC;AAEnF,EAAA,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa;AAC/C,IAAA,MAAM,KAAA,GAAS,iBAAyB,QAAQ,CAAA;AAEhD,IAAA,IAAI,OAAO,UAAU,UAAA,EAAY;AAC/B,MAAA,KAAA,CAAM,QAAQ,CAAA,GAAI,KAAA;AAAA,IACpB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO,KAAA;AACT;AAEA,SAAS,iBAAmC,IAAA,EAAW;AACrD,EAAA,MAAM,SAAY,EAAC;AAEnB,EAAA,IAAA,CAAK,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACpB,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,CAAE,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAChC,QAAA,MAAM,GAAA,GAAO,IAAY,GAAG,CAAA;AAC5B,QAAA,IAAI,QAAQ,MAAA,EAAW;AACpB,UAAC,MAAA,CAAe,GAAG,CAAA,GAAI,GAAA;AAAA,QAC1B;AAAA,MACF,CAAC,CAAA;AAAA,IACH;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO,MAAA;AACT;AAcA,SAAwB,aAAA,CACtB,KAAA,EACA,KAAA,EACA,UAAA,EACA,QAAA,EACe;AACf,EAAA,MAAM,kBAAkBA,YAAA,CAAS;AAAA,IAC/B,OAAA,EAAS,CAAA;AAAA,IACT,QAAA,EAAU,iBAAA;AAAA,IACV,eAAA,EAAiB;AAAA,GAClB,CAAA;AACD,EAAA,MAAM,IAAA,GAAOC,YAAA,CAAS,MAAM,KAAA,CAAM,IAAI,CAAA;AAEtC,EAAA,MAAM,gBAAA,GAAmBA,aAAS,MAAM;AACtC,IAAA,MAAM,EAAE,YAAW,GAAI,KAAA;AACvB,IAAA,IAAI,KAAA,CAAM,UAAA,KAAe,KAAA,EAAO,OAAO,EAAC;AACxC,IAAA,MAAM,EAAE,KAAA,EAAO,eAAA,GAAkB,CAAA,EAAG,GAAG,cAAA,EAAe,GACpD,UAAA,IAAc,OAAO,UAAA,IAAc,QAAA,GAAW,UAAA,GAAa,EAAC;AAC9D,IAAA,MAAM,EAAA,GAAK,aAAA,CAA8C,eAAA,EAAiB,cAAA,EAAgB;AAAA,MACxF,KAAA,EAAO,eAAA,GAAkB,CAAA,GAAI,eAAA,GAAkB,KAAA,CAAM;AAAA,KACtD,CAAA;AAED,IAAA,MAAM,UAAU,IAAA,CAAK,IAAA,CAAA,CAAM,mBAAmB,KAAA,CAAM,KAAA,IAAS,GAAG,QAAS,CAAA;AACzE,IAAA,IAAI,EAAA,CAAG,UAAW,OAAA,EAAS;AACzB,MAAA,EAAA,CAAG,UAAU,OAAA,IAAW,CAAA;AAAA,IAC1B;AACA,IAAA,MAAM,YAAY,IAAA,CAAK,KAAA,KAAU,WAAW,IAAA,CAAK,KAAA,KAAU,WAAW,OAAA,GAAU,MAAA;AAChF,IAAA,EAAA,CAAG,IAAA,GAAO,GAAG,IAAA,IAAQ,SAAA;AAErB,IAAA,OAAO,EAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,iBAAA,GAAoB,CAAC,OAAA,GAAU,CAAA,EAAG,QAAA,KAAsB;AAC5D,IAAA,eAAA,CAAgB,OAAA,GAAU,OAAA;AAC1B,IAAA,eAAA,CAAgB,QAAA,GAAW,QAAA,IAAY,gBAAA,CAAiB,KAAA,CAAM,QAAA,IAAY,iBAAA;AAAA,EAC5E,CAAA;AAEA,EAAA,IAAI,KAAA;AAEJ,EAAA,MAAM,YAAA,GAAe,CAAC,OAAA,EAAiBC,KAAAA,KAAkB;AACvD,IAAA,YAAA,CAAa,KAAK,CAAA;AAClB,IAAA,KAAA,GAAQ,WAAW,MAAM;AA1G7B,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA2GM,MAAA,IACE,EACE,OAAA,KAAY,gBAAA,CAAiB,KAAA,CAAM,OAAA,IAAA,CAClCA,KAAAA,KAAAA,CAAQ,EAAA,GAAA,gBAAA,CAAiB,KAAA,KAAjB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwB,QAAA,CAAA,OAAA,CAAc,EAAA,GAAA,gBAAA,CAAiB,KAAA,KAAjB,mBAAwB,QAAA,CAAA,CAAA,EAEzE;AACA,QAAA,KAAA,CAAM,UAAA,KAAA,CAAc,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAA,EAAW,QAAA,KAAjB,4BAA4B,OAAA,EAASA,KAAAA,CAAAA,CAAAA;AACzD,QAAA,iBAAA,CAAkB,SAASA,KAAI,CAAA;AAC/B,QAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAW,OAAA,EAASA,KAAAA,KAAAA,CAAQ,EAAA,GAAA,gBAAA,CAAiB,KAAA,KAAjB,mBAAwB,QAAA,CAAA,IAAY,iBAAA,CAAA;AAAA,MAClE;AAAA,IACF,GAAG,CAAC,CAAA;AAAA,EACN,CAAA;AAEA,EAAAC,mBAAA,CAAgB,MAAM;AACpB,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAC,CAAA;AAED,EAAA,MAAM,GAAA,GAAMF,aAAS,MAAM;AACzB,IAAA,MAAM,SAAA,GAAY,KAAA,CAAM,SAAA,KAAc,KAAA,GAAQ,MAAA,GAAS,OAAA;AACvD,IAAA,MAAM,EAAE,QAAA,EAAS,GAAI,gBAAA,CAAiB,KAAA;AACtC,IAAA,MAAM,WAA0B,EAAC;AACjC,IAAA,IAAI,KAAA,CAAM,UAAA,KAAe,KAAA,EAAO,OAAO,EAAC;AAExC,IAAA,IAAI,QAAA,KAAa,IAAA,IAAQ,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAChD,MAAA,MAAM,GAAA,GAAM,SAAS,IAAA,CAAK,CAACG,SAAQA,IAAAA,CAAI,OAAA,CAAQ,KAAK,CAAA,KAAM,EAAE,CAAA;AAC5D,MAAA,MAAM,MAAA,GAAS,SAAS,IAAA,CAAK,CAACA,SAAQA,IAAAA,CAAI,OAAA,CAAQ,QAAQ,CAAA,KAAM,EAAE,CAAA;AAClE,MAAA,MAAM,IAAA,GAAO,SAAS,KAAA,CAAM,CAACA,SAAQ,CAAA,EAAGA,IAAG,MAAM,MAAM,CAAA;AACvD,MAAA,IAAI,EAAE,GAAA,IAAO,MAAA,IAAU,IAAA,CAAA,EAAO;AAC5B,QAAA,QAAA,CAAS,MAAA,GAAS,SAAA;AAAA,MACpB;AACA,MAAA,IAAI,GAAA,EAAK;AACP,QAAA,QAAA,CAAS,MAAM,GAAA,CAAI,WAAA,EAAY,CAAE,OAAA,CAAQ,OAAO,EAAE,CAAA;AAAA,MACpD;AACA,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,QAAA,CAAS,SAAS,MAAA,CAAO,WAAA,EAAY,CAAE,OAAA,CAAQ,UAAU,EAAE,CAAA;AAAA,MAC7D;AAAA,IACF,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,MAAA,GAAS,SAAA;AAAA,IACpB;AACA,IAAA,OAAO,QAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,QAAA,GAAWH,aAAS,MAAM;AAC9B,IAAA,MAAM,OAAO,UAAA,CAAW,KAAA;AACxB,IAAA,IAAI,MAAM,UAAA,KAAe,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA,CAAM,UAAU,OAAO,IAAA;AAC3E,IAAA,MAAM,EAAE,UAAU,CAAA,EAAG,KAAA,EAAAI,SAAQ,CAAA,EAAG,QAAA,GAAW,iBAAA,EAAkB,GAAI,gBAAA,CAAiB,KAAA;AAClF,IAAA,OAAO,IAAA,CAAK,MAAA,GAASA,MAAAA,GACjB,IAAA,CAAK,SAAS,QAAA,IACXC,kBAAA;AAAA,MACC,KAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,OAEF,IAAA,CAAK,KAAA,CAAA,CAAO,OAAA,GAAU,CAAA,IAAK,UAAU,OAAA,GAAU,QAAQ,CAAA,IACvD,IAAA,GACF,KAAK,KAAA,CAAA,CAAO,OAAA,GAAU,CAAA,IAAK,QAAA,EAAU,UAAU,QAAQ,CAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,QAAA,EAAU,YAAA;AAAA,IACV,gBAAA,EAAkB,CAAC,OAAA,EAAiBJ,KAAAA,KAAiB;AAxKzD,MAAA,IAAA,EAAA,EAAA,EAAA;AAyKM,MAAA,YAAA,CAAa,SAASA,KAAI,CAAA;AAC1B,MAAA,IAAI,KAAA,CAAM,eAAe,KAAA,EAAO;AAC9B,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,gBAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAqC,OAAA,EAASA,KAAAA,CAAAA;AAAA,MAChD;AAAA,IACF,CAAA;AAAA,IACA,GAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;;;;"}
|
@@ -7,8 +7,8 @@ function genProColumnToColumn(params, parents) {
|
|
7
7
|
var _a;
|
8
8
|
const { columns, counter } = params;
|
9
9
|
return (_a = columns == null ? void 0 : columns.map((columnProps, columnsIndex) => {
|
10
|
-
var _a2, _b;
|
11
|
-
const { key, dataIndex, disable, valueEnum } = columnProps;
|
10
|
+
var _a2, _b, _c;
|
11
|
+
const { key, dataIndex, disable, valueEnum, width } = columnProps;
|
12
12
|
const columnKey = util.genColumnKey(
|
13
13
|
// key || (dataIndex ? `${dataIndex.toString()}-${columnsIndex}` : ''),
|
14
14
|
key || (dataIndex == null ? void 0 : dataIndex.toString()),
|
@@ -17,18 +17,20 @@ function genProColumnToColumn(params, parents) {
|
|
17
17
|
const config = counter.columnsMap.value[columnKey] || {
|
18
18
|
fixed: columnProps.fixed
|
19
19
|
};
|
20
|
+
console.log("\u{1F680} ~ ?.map ~ config:", config);
|
20
21
|
const tempColumns = {
|
21
22
|
index: columnsIndex,
|
22
23
|
key: columnKey,
|
23
24
|
...columnProps,
|
24
25
|
valueEnum,
|
25
26
|
fixed: config.fixed,
|
26
|
-
|
27
|
+
width: (_a2 = config.width) != null ? _a2 : width,
|
28
|
+
disable: (_b = config.disable) != null ? _b : disable,
|
27
29
|
// width: columnProps.width || (columnProps.fixed ? 200 : undefined),
|
28
30
|
children: columnProps.children ? genProColumnToColumn(
|
29
31
|
{
|
30
32
|
...params,
|
31
|
-
columns: (
|
33
|
+
columns: (_c = columnProps == null ? void 0 : columnProps.children) != null ? _c : []
|
32
34
|
},
|
33
35
|
{ ...columnProps, key: columnKey }
|
34
36
|
) : void 0
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"genProColumnToColumn.js","sources":["../../../../../../../packages/components/table/src/utils/genProColumnToColumn.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-19 11:26:08\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
1
|
+
{"version":3,"file":"genProColumnToColumn.js","sources":["../../../../../../../packages/components/table/src/utils/genProColumnToColumn.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-19 11:26:08\n * @LastEditors: shen\n * @LastEditTime: 2025-09-30 16:39:14\n * @Description:\n */\nimport type { ContainerContextProps } from '../hooks/useContainer'\nimport type {\n ColumnGroupType,\n ColumnType,\n ColumnsType,\n ProTableProps,\n} from '../components/interface'\nimport { omitUndefinedAndEmptyArr } from './omitUndefinedAndEmptyArr'\nimport { genColumnKey } from './util'\n\ntype ColumnToColumnReturnType = (ColumnType & {\n index?: number\n})[]\n\ntype ColumnToColumnParams = {\n columns: ColumnsType\n counter: ContainerContextProps\n} & Pick<ProTableProps, 'rowKey' | 'childrenColumnName'>\n\n/**\n * 转化 columns 到 pro 的格式 主要是 render 方法的自行实现\n *\n * @param columns\n * @param map\n * @param columnEmptyText\n */\nexport function genProColumnToColumn(\n params: ColumnToColumnParams,\n parents?: ColumnGroupType,\n): ColumnToColumnReturnType {\n const { columns, counter } = params\n\n return columns\n ?.map((columnProps, columnsIndex) => {\n const { key, dataIndex, disable, valueEnum, width } = columnProps as ColumnGroupType\n const columnKey = genColumnKey(\n // key || (dataIndex ? `${dataIndex.toString()}-${columnsIndex}` : ''),\n key || dataIndex?.toString(),\n [parents?.key, columnsIndex].filter(Boolean).join('-'),\n )\n\n const config =\n counter.columnsMap.value[columnKey] ||\n ({\n fixed: columnProps.fixed,\n } as any)\n console.log('🚀 ~ ?.map ~ config:', config)\n const tempColumns = {\n index: columnsIndex,\n key: columnKey,\n ...columnProps,\n valueEnum,\n fixed: config.fixed,\n width: config.width ?? width,\n disable: config.disable ?? disable,\n // width: columnProps.width || (columnProps.fixed ? 200 : undefined),\n children: (columnProps as ColumnGroupType).children\n ? genProColumnToColumn(\n {\n ...params,\n columns: (columnProps as ColumnGroupType)?.children ?? [],\n },\n { ...columnProps, key: columnKey } as ColumnGroupType,\n )\n : undefined,\n }\n return omitUndefinedAndEmptyArr(tempColumns)\n })\n ?.filter((item) => !item.hideInTable) as unknown as (ColumnType & {\n index?: number\n })[]\n}\n"],"names":["_a","genColumnKey","omitUndefinedAndEmptyArr"],"mappings":";;;;;AAiCO,SAAS,oBAAA,CACd,QACA,OAAA,EAC0B;AApC5B,EAAA,IAAA,EAAA;AAqCE,EAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAQ,GAAI,MAAA;AAE7B,EAAA,OAAA,CAAO,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CACH,GAAA,CAAI,CAAC,WAAA,EAAa,YAAA,KAAiB;AAxCzC,IAAA,IAAAA,GAAAA,EAAA,EAAA,EAAA,EAAA;AAyCM,IAAA,MAAM,EAAE,GAAA,EAAK,SAAA,EAAW,OAAA,EAAS,SAAA,EAAW,OAAM,GAAI,WAAA;AACtD,IAAA,MAAM,SAAA,GAAYC,iBAAA;AAAA;AAAA,MAEhB,QAAO,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,QAAA,EAAA,CAAA;AAAA,MAClB,CAAC,mCAAS,GAAA,EAAK,YAAY,EAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG;AAAA,KACvD;AAEA,IAAA,MAAM,MAAA,GACJ,OAAA,CAAQ,UAAA,CAAW,KAAA,CAAM,SAAS,CAAA,IACjC;AAAA,MACC,OAAO,WAAA,CAAY;AAAA,KACrB;AACF,IAAA,OAAA,CAAQ,GAAA,CAAI,+BAAwB,MAAM,CAAA;AAC1C,IAAA,MAAM,WAAA,GAAc;AAAA,MAClB,KAAA,EAAO,YAAA;AAAA,MACP,GAAA,EAAK,SAAA;AAAA,MACL,GAAG,WAAA;AAAA,MACH,SAAA;AAAA,MACA,OAAO,MAAA,CAAO,KAAA;AAAA,MACd,KAAA,EAAA,CAAOD,GAAAA,GAAA,MAAA,CAAO,KAAA,KAAP,OAAAA,GAAAA,GAAgB,KAAA;AAAA,MACvB,OAAA,EAAA,CAAS,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,EAAA,GAAkB,OAAA;AAAA;AAAA,MAE3B,QAAA,EAAW,YAAgC,QAAA,GACvC,oBAAA;AAAA,QACE;AAAA,UACE,GAAG,MAAA;AAAA,UACH,OAAA,EAAA,CAAU,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAiC,QAAA,KAAjC,IAAA,GAAA,EAAA,GAA6C;AAAC,SAC1D;AAAA,QACA,EAAE,GAAG,WAAA,EAAa,GAAA,EAAK,SAAA;AAAU,OACnC,GACA;AAAA,KACN;AACA,IAAA,OAAOE,kDAAyB,WAAW,CAAA;AAAA,EAC7C,OAnCK,IAAA,GAAA,MAAA,GAAA,EAAA,CAoCH,MAAA,CAAO,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,WAAA,CAAA;AAG7B;;;;"}
|
@@ -52,6 +52,6 @@ export declare const eventsClose: (e1: MouseEvent | Touch, e2: MouseEvent | Touc
|
|
52
52
|
export declare function getNestItemData<T>(data: T[], indexs: number[], childrenColumnName: string): T;
|
53
53
|
export declare function addNestItemData<T>(data: T[], indexs: number[], childrenColumnName: string, itemData: T): any[];
|
54
54
|
export declare function deleteNestItemData<T>(data: T[], indexs: number[], childrenColumnName: string): any[];
|
55
|
-
export declare function isPromise<T = any>(val:
|
55
|
+
export declare function isPromise<T = any>(val: any): val is Promise<T>;
|
56
56
|
export declare function ensureValidVNode(vnodes: any): any;
|
57
57
|
export declare const isBordered: (borderType: BorderedType, border?: Bordered) => boolean | undefined;
|
@@ -204,7 +204,7 @@ function deleteNestItemData(data, indexs, childrenColumnName) {
|
|
204
204
|
return currentData;
|
205
205
|
}
|
206
206
|
function isPromise(val) {
|
207
|
-
return is(val, "Promise") &&
|
207
|
+
return is(val, "Promise") && isFunction(val.then) && isFunction(val.catch);
|
208
208
|
}
|
209
209
|
function ensureValidVNode(vnodes) {
|
210
210
|
return vnodes.some(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../../packages/components/table/src/utils/util.ts"],"sourcesContent":["import { isVNode, camelize, Fragment, Comment } from 'vue'\n\nimport type { CSSProperties, VNodeChild, VNodeNormalizedChildren, VNode } from 'vue'\nimport type {\n Bordered,\n BorderedType,\n ColumnsType,\n ColumnType,\n DataIndex,\n Key,\n} from '../components/interface'\n\nexport function is(val: unknown, type: string) {\n return toString.call(val) === `[object ${type}]`\n}\n\nexport function isFunction(val: unknown): val is Function {\n return typeof val === 'function'\n}\n\nexport function isArray(val: any): val is Array<any> {\n return val && Array.isArray(val)\n}\n\nexport function isString(val: unknown): val is string {\n return is(val, 'String')\n}\n\nexport declare const isSymbol: (val: any) => boolean\n\nexport function isObject(val: any): val is Record<any, any> {\n return val !== null && is(val, 'Object')\n}\n\nexport declare function getColumnKey<RecordType>(\n column: ColumnType<RecordType>,\n defaultKey: string,\n): Key\n\n/**\n * 根据 key 和 dataIndex 生成唯一 id\n *\n * @param key 用户设置的 key\n * @param dataIndex 在对象中的数据\n * @param index 序列号,理论上唯一\n */\nexport const genColumnKey = (key?: string | number, index?: number | string): string => {\n if (key) {\n return Array.isArray(key) ? key.join('-') : key.toString()\n }\n return `${index}`\n}\n\nexport function getColumnPos(index: number, pos?: string) {\n return pos ? `${pos}-${index}` : `${index}`\n}\nexport declare function getNewColumnsByWidth<RecordType>(\n columns: ColumnsType<RecordType>,\n newWidths: Record<string, number>,\n pos?: string,\n): ColumnsType<RecordType>\nexport declare type SortOrder = 'desc' | 'asc' | null\nexport interface ColumnTitleProps<RecordType> {\n /** @deprecated Please use `sorterColumns` instead. */\n sortOrder?: SortOrder\n /** @deprecated Please use `sorterColumns` instead. */\n sortColumn?: ColumnType<RecordType>\n sortColumns?: {\n column: ColumnType<RecordType>\n order: SortOrder\n }[]\n filters?: Record<string, string[]>\n}\nexport declare function renderColumnTitle<RecordType>(\n title: any,\n props: ColumnTitleProps<RecordType>,\n): any\nexport function objectToEmpty(obj: Record<string, any>): void {\n for (const key in obj) Object.prototype.hasOwnProperty.call(obj, key) && delete obj[key]\n}\n\nfunction toArray<T>(arr: T | readonly T[]): T[] {\n if (arr === undefined || arr === null) {\n return []\n }\n return (Array.isArray(arr) ? arr : [arr]) as T[]\n}\n\nexport function getPathValue<ValueType, ObjectType extends object>(\n record: ObjectType,\n path: DataIndex,\n): ValueType | null {\n // Skip if path is empty\n if (!path && typeof path !== 'number') {\n return record as unknown as ValueType\n }\n\n const pathList = toArray(path)\n\n let current: ValueType | ObjectType = record\n\n for (let i = 0; i < pathList.length; i += 1) {\n if (!current) {\n return null\n }\n\n const prop = pathList[i]!\n current = current[prop]\n }\n\n return current as ValueType\n}\n\nexport declare function setPathValue<ValueType, ObjectType extends object>(\n record: ObjectType,\n path: DataIndex,\n value: ValueType,\n): ValueType\n\nexport function isValidElement(element: VNode | VNode[]) {\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]!\n }\n return element && isVNode(element) && typeof element.type !== 'symbol' // remove text node\n}\n\nexport const parseStyleText = (cssText: string | CSSProperties, camel?: boolean) => {\n const res = {}\n const listDelimiter = /;(?![^(]*\\))/g\n const propertyDelimiter = /:(.+)/\n if (typeof cssText === 'object') return cssText\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n const tmp = item.split(propertyDelimiter)\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0]!.trim()) : tmp[0]!.trim()\n res[k] = tmp[1]!.trim()\n }\n }\n })\n return res\n}\n\nexport function setPromise(fn: any): {\n promise: Promise<void>\n cancel: () => void\n} {\n let rejectFn: (reason?: any) => void\n let isCancel = false\n return {\n promise: new Promise((resolve, reject) => {\n rejectFn = reject\n Promise.resolve().then(() => {\n resolve('')\n })\n })\n .then(() => {\n if (!isCancel) {\n fn()\n }\n })\n .catch(() => {}),\n cancel: () => {\n isCancel = true\n rejectFn && rejectFn()\n },\n }\n}\n\nexport function arrDel(list: Key[], value: Key) {\n if (!list) return []\n const clone = list.slice()\n const index = clone.indexOf(value)\n if (index >= 0) {\n clone.splice(index, 1)\n }\n return clone\n}\n\nexport function arrAdd(list: Key[], value: Key) {\n const clone = (list || []).slice()\n if (clone.indexOf(value) === -1) {\n clone.push(value)\n }\n return clone\n}\nexport declare function isEmptyElement(c: any): boolean\n\nconst isValid = (value: any): boolean => {\n return value !== undefined && value !== null && value !== ''\n}\nexport default isValid\n\nexport type VNodeChildAtom = Exclude<VNodeChild, Array<any>>\nexport type RawSlots = Exclude<VNodeNormalizedChildren, Array<any> | null | string>\n\nexport type FlattenVNodes = Array<VNodeChildAtom | RawSlots>\nconst flattenChildren = (\n children: FlattenVNodes | VNode | VNodeNormalizedChildren,\n filterEmpty = true,\n): FlattenVNodes => {\n const vNodes = isArray(children) ? children : [children]\n const result: FlattenVNodes = []\n vNodes.forEach((child: any) => {\n if (isArray(child)) {\n result.push(...flattenChildren(child, filterEmpty))\n } else if (child && child.type === Fragment) {\n result.push(...flattenChildren(child.children, filterEmpty))\n } else if (child && isVNode(child)) {\n if (filterEmpty && !isEmptyElement(child)) {\n result.push(child)\n } else if (!filterEmpty) {\n result.push(child)\n }\n } else if (isValid(child)) {\n result.push(child)\n }\n })\n return result\n}\nexport function convertChildrenToColumns<RecordType>(\n elements: any[] = [],\n): ColumnsType<RecordType> {\n const flattenElements = flattenChildren(elements)\n const columns: any[] = []\n flattenElements.forEach((element: any) => {\n if (!element) {\n return\n }\n const key = element.key\n const style = element.props?.style || {}\n const cls = element.props?.class || ''\n const props = element.props || {}\n for (const [k, v] of Object.entries(props)) {\n props[camelize(k)] = v\n }\n const { default: children, ...restSlots } = element.children || {}\n const column = { ...restSlots, ...props, style, class: cls }\n if (key) {\n column.key = key\n }\n if (element.type?.__S_TABLE_COLUMN_GROUP) {\n column.children = convertChildrenToColumns(\n typeof children === 'function' ? children() : children,\n )\n } else {\n const customRender = element.children?.default\n column.customRender = column.customRender || customRender\n }\n columns.push(column)\n })\n return columns\n}\n\nexport const eventsClose = (e1: MouseEvent | Touch, e2: MouseEvent | Touch, diff: number) => {\n return (\n diff !== 0 &&\n Math.max(Math.abs(e1.clientX - e2.clientX), Math.abs(e1.clientY - e2.clientY)) <= diff\n )\n}\nexport declare function getNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n): T\nexport function addNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n itemData: T,\n): any[] {\n let item: T\n let copyData: T[] = data\n let currentData: T[] = []\n const indexsLen = indexs.length\n if (indexsLen === 0) {\n data.splice(0, 0, itemData)\n return data\n }\n for (let i = 0; i < indexsLen; i++) {\n item = copyData[indexs[i]!]!\n if (i === indexsLen - 1) {\n currentData = copyData\n }\n copyData = item?.[childrenColumnName] || []\n }\n currentData.splice(indexs[indexsLen - 1]! + 1, 0, itemData)\n return currentData\n}\n\nexport function deleteNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n): any[] {\n let item: T\n let copyData: T[] = data\n let currentData: T[] = []\n const indexsLen = indexs.length\n for (let i = 0; i < indexsLen; i++) {\n item = copyData[indexs[i]!]!\n if (i === indexsLen - 1) {\n currentData = copyData\n }\n copyData = item?.[childrenColumnName] || []\n }\n currentData.splice(indexs[indexsLen - 1]!, 1)\n return currentData\n}\n\nexport function isPromise<T = any>(val: unknown): val is Promise<T> {\n return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch)\n}\n\nexport function ensureValidVNode(vnodes: any): any {\n return vnodes.some(\n (vnode: any) =>\n !isVNode(vnode) ||\n (vnode.type !== Comment && !(vnode.type === Fragment && !ensureValidVNode(vnode.children))),\n )\n ? vnodes\n : null\n}\n\nexport const isBordered = (borderType: BorderedType, border?: Bordered) => {\n if (border === undefined) {\n return false\n }\n if (typeof border === 'boolean') {\n return border\n }\n return border[borderType]\n}\n"],"names":["isVNode","camelize","Fragment","Comment"],"mappings":";;;;;;AAYO,SAAS,EAAA,CAAG,KAAc,IAAA,EAAc;AAC7C,EAAA,OAAO,QAAA,CAAS,IAAA,CAAK,GAAG,CAAA,KAAM,WAAW,IAAI,CAAA,CAAA,CAAA;AAC/C;AAEO,SAAS,WAAW,GAAA,EAA+B;AACxD,EAAA,OAAO,OAAO,GAAA,KAAQ,UAAA;AACxB;AAEO,SAAS,QAAQ,GAAA,EAA6B;AACnD,EAAA,OAAO,GAAA,IAAO,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AACjC;AAEO,SAAS,SAAS,GAAA,EAA6B;AACpD,EAAA,OAAO,EAAA,CAAG,KAAK,QAAQ,CAAA;AACzB;AAIO,SAAS,SAAS,GAAA,EAAmC;AAC1D,EAAA,OAAO,GAAA,KAAQ,IAAA,IAAQ,EAAA,CAAG,GAAA,EAAK,QAAQ,CAAA;AACzC;AAcO,MAAM,YAAA,GAAe,CAAC,GAAA,EAAuB,KAAA,KAAoC;AACtF,EAAA,IAAI,GAAA,EAAK;AACP,IAAA,OAAO,KAAA,CAAM,QAAQ,GAAG,CAAA,GAAI,IAAI,IAAA,CAAK,GAAG,CAAA,GAAI,GAAA,CAAI,QAAA,EAAS;AAAA,EAC3D;AACA,EAAA,OAAO,GAAG,KAAK,CAAA,CAAA;AACjB;AAEO,SAAS,YAAA,CAAa,OAAe,GAAA,EAAc;AACxD,EAAA,OAAO,MAAM,CAAA,EAAG,GAAG,IAAI,KAAK,CAAA,CAAA,GAAK,GAAG,KAAK,CAAA,CAAA;AAC3C;AAsBO,SAAS,cAAc,GAAA,EAAgC;AAC5D,EAAA,KAAA,MAAW,GAAA,IAAO,GAAA,EAAK,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,GAAA,EAAK,GAAG,CAAA,IAAK,OAAO,GAAA,CAAI,GAAG,CAAA;AACzF;AAEA,SAAS,QAAW,GAAA,EAA4B;AAC9C,EAAA,IAAI,GAAA,KAAQ,MAAA,IAAa,GAAA,KAAQ,IAAA,EAAM;AACrC,IAAA,OAAO,EAAC;AAAA,EACV;AACA,EAAA,OAAQ,MAAM,OAAA,CAAQ,GAAG,CAAA,GAAI,GAAA,GAAM,CAAC,GAAG,CAAA;AACzC;AAEO,SAAS,YAAA,CACd,QACA,IAAA,EACkB;AAElB,EAAA,IAAI,CAAC,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA,EAAU;AACrC,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,MAAM,QAAA,GAAW,QAAQ,IAAI,CAAA;AAE7B,EAAA,IAAI,OAAA,GAAkC,MAAA;AAEtC,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,QAAA,CAAS,MAAA,EAAQ,KAAK,CAAA,EAAG;AAC3C,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,IAAA,GAAO,SAAS,CAAC,CAAA;AACvB,IAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAAA,EACxB;AAEA,EAAA,OAAO,OAAA;AACT;AAQO,SAAS,eAAe,OAAA,EAA0B;AACvD,EAAA,IAAI,MAAM,OAAA,CAAQ,OAAO,CAAA,IAAK,OAAA,CAAQ,WAAW,CAAA,EAAG;AAClD,IAAA,OAAA,GAAU,QAAQ,CAAC,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,WAAWA,WAAA,CAAQ,OAAO,CAAA,IAAK,OAAO,QAAQ,IAAA,KAAS,QAAA;AAChE;AAEO,MAAM,cAAA,GAAiB,CAAC,OAAA,EAAiC,KAAA,KAAoB;AAClF,EAAA,MAAM,MAAM,EAAC;AACb,EAAA,MAAM,aAAA,GAAgB,eAAA;AACtB,EAAA,MAAM,iBAAA,GAAoB,OAAA;AAC1B,EAAA,IAAI,OAAO,OAAA,KAAY,QAAA,EAAU,OAAO,OAAA;AACxC,EAAA,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA,CAAE,OAAA,CAAQ,SAAU,IAAA,EAAM;AACnD,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,MAAM,GAAA,GAAM,IAAA,CAAK,KAAA,CAAM,iBAAiB,CAAA;AACxC,MAAA,IAAI,GAAA,CAAI,SAAS,CAAA,EAAG;AAClB,QAAA,MAAM,CAAA,GAAI,KAAA,GAAQC,YAAA,CAAS,GAAA,CAAI,CAAC,CAAA,CAAG,IAAA,EAAM,CAAA,GAAI,GAAA,CAAI,CAAC,CAAA,CAAG,IAAA,EAAK;AAC1D,QAAA,GAAA,CAAI,CAAC,CAAA,GAAI,GAAA,CAAI,CAAC,EAAG,IAAA,EAAK;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACD,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,WAAW,EAAA,EAGzB;AACA,EAAA,IAAI,QAAA;AACJ,EAAA,IAAI,QAAA,GAAW,KAAA;AACf,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,IAAI,OAAA,CAAQ,CAAC,SAAS,MAAA,KAAW;AACxC,MAAA,QAAA,GAAW,MAAA;AACX,MAAA,OAAA,CAAQ,OAAA,EAAQ,CAAE,IAAA,CAAK,MAAM;AAC3B,QAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,MACZ,CAAC,CAAA;AAAA,IACH,CAAC,CAAA,CACE,IAAA,CAAK,MAAM;AACV,MAAA,IAAI,CAAC,QAAA,EAAU;AACb,QAAA,EAAA,EAAG;AAAA,MACL;AAAA,IACF,CAAC,CAAA,CACA,KAAA,CAAM,MAAM;AAAA,IAAC,CAAC,CAAA;AAAA,IACjB,QAAQ,MAAM;AACZ,MAAA,QAAA,GAAW,IAAA;AACX,MAAA,QAAA,IAAY,QAAA,EAAS;AAAA,IACvB;AAAA,GACF;AACF;AAEO,SAAS,MAAA,CAAO,MAAa,KAAA,EAAY;AAC9C,EAAA,IAAI,CAAC,IAAA,EAAM,OAAO,EAAC;AACnB,EAAA,MAAM,KAAA,GAAQ,KAAK,KAAA,EAAM;AACzB,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AACjC,EAAA,IAAI,SAAS,CAAA,EAAG;AACd,IAAA,KAAA,CAAM,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,EACvB;AACA,EAAA,OAAO,KAAA;AACT;AAEO,SAAS,MAAA,CAAO,MAAa,KAAA,EAAY;AAC9C,EAAA,MAAM,KAAA,GAAA,CAAS,IAAA,IAAQ,EAAC,EAAG,KAAA,EAAM;AACjC,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,KAAM,EAAA,EAAI;AAC/B,IAAA,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,EAClB;AACA,EAAA,OAAO,KAAA;AACT;AAGA,MAAM,OAAA,GAAU,CAAC,KAAA,KAAwB;AACvC,EAAA,OAAO,KAAA,KAAU,MAAA,IAAa,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,EAAA;AAC5D;AAOA,MAAM,eAAA,GAAkB,CACtB,QAAA,EACA,WAAA,GAAc,IAAA,KACI;AAClB,EAAA,MAAM,SAAS,OAAA,CAAQ,QAAQ,CAAA,GAAI,QAAA,GAAW,CAAC,QAAQ,CAAA;AACvD,EAAA,MAAM,SAAwB,EAAC;AAC/B,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,KAAA,KAAe;AAC7B,IAAA,IAAI,OAAA,CAAQ,KAAK,CAAA,EAAG;AAClB,MAAA,MAAA,CAAO,IAAA,CAAK,GAAG,eAAA,CAAgB,KAAA,EAAO,WAAW,CAAC,CAAA;AAAA,IACpD,CAAA,MAAA,IAAW,KAAA,IAAS,KAAA,CAAM,IAAA,KAASC,YAAA,EAAU;AAC3C,MAAA,MAAA,CAAO,KAAK,GAAG,eAAA,CAAgB,KAAA,CAAM,QAAA,EAAU,WAAW,CAAC,CAAA;AAAA,IAC7D,CAAA,MAAA,IAAW,KAAA,IAASF,WAAA,CAAQ,KAAK,CAAA,EAAG;AAClC,MAAA,IAAI,WAAA,IAAe,CAAC,cAAA,CAAe,KAAK,CAAA,EAAG;AACzC,QAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,MACnB,CAAA,MAAA,IAAW,CAAC,WAAA,EAAa;AACvB,QAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,MACnB;AAAA,IACF,CAAA,MAAA,IAAW,OAAA,CAAQ,KAAK,CAAA,EAAG;AACzB,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,IACnB;AAAA,EACF,CAAC,CAAA;AACD,EAAA,OAAO,MAAA;AACT,CAAA;AACO,SAAS,wBAAA,CACd,QAAA,GAAkB,EAAC,EACM;AACzB,EAAA,MAAM,eAAA,GAAkB,gBAAgB,QAAQ,CAAA;AAChD,EAAA,MAAM,UAAiB,EAAC;AACxB,EAAA,eAAA,CAAgB,OAAA,CAAQ,CAAC,OAAA,KAAiB;AAjO5C,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAkOI,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA;AAAA,IACF;AACA,IAAA,MAAM,MAAM,OAAA,CAAQ,GAAA;AACpB,IAAA,MAAM,KAAA,GAAA,CAAA,CAAQ,EAAA,GAAA,OAAA,CAAQ,KAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,UAAS,EAAC;AACvC,IAAA,MAAM,GAAA,GAAA,CAAA,CAAM,EAAA,GAAA,OAAA,CAAQ,KAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,KAAA,KAAS,EAAA;AACpC,IAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,KAAA,IAAS,EAAC;AAChC,IAAA,KAAA,MAAW,CAAC,CAAA,EAAG,CAAC,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AAC1C,MAAA,KAAA,CAAMC,YAAA,CAAS,CAAC,CAAC,CAAA,GAAI,CAAA;AAAA,IACvB;AACA,IAAA,MAAM,EAAE,SAAS,QAAA,EAAU,GAAG,WAAU,GAAI,OAAA,CAAQ,YAAY,EAAC;AACjE,IAAA,MAAM,MAAA,GAAS,EAAE,GAAG,SAAA,EAAW,GAAG,KAAA,EAAO,KAAA,EAAO,OAAO,GAAA,EAAI;AAC3D,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AAAA,IACf;AACA,IAAA,IAAA,CAAI,EAAA,GAAA,OAAA,CAAQ,IAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,sBAAA,EAAwB;AACxC,MAAA,MAAA,CAAO,QAAA,GAAW,wBAAA;AAAA,QAChB,OAAO,QAAA,KAAa,UAAA,GAAa,QAAA,EAAS,GAAI;AAAA,OAChD;AAAA,IACF,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAA,CAAe,EAAA,GAAA,OAAA,CAAQ,QAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,OAAA;AACvC,MAAA,MAAA,CAAO,YAAA,GAAe,OAAO,YAAA,IAAgB,YAAA;AAAA,IAC/C;AACA,IAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,EACrB,CAAC,CAAA;AACD,EAAA,OAAO,OAAA;AACT;AAEO,MAAM,WAAA,GAAc,CAAC,EAAA,EAAwB,EAAA,EAAwB,IAAA,KAAiB;AAC3F,EAAA,OACE,SAAS,CAAA,IACT,IAAA,CAAK,IAAI,IAAA,CAAK,GAAA,CAAI,GAAG,OAAA,GAAU,EAAA,CAAG,OAAO,CAAA,EAAG,KAAK,GAAA,CAAI,EAAA,CAAG,UAAU,EAAA,CAAG,OAAO,CAAC,CAAA,IAAK,IAAA;AAEtF;AAMO,SAAS,eAAA,CACd,IAAA,EACA,MAAA,EACA,kBAAA,EACA,QAAA,EACO;AACP,EAAA,IAAI,IAAA;AACJ,EAAA,IAAI,QAAA,GAAgB,IAAA;AACpB,EAAA,IAAI,cAAmB,EAAC;AACxB,EAAA,MAAM,YAAY,MAAA,CAAO,MAAA;AACzB,EAAA,IAAI,cAAc,CAAA,EAAG;AACnB,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA,EAAG,CAAA,EAAG,QAAQ,CAAA;AAC1B,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,IAAA,IAAA,GAAO,QAAA,CAAS,MAAA,CAAO,CAAC,CAAE,CAAA;AAC1B,IAAA,IAAI,CAAA,KAAM,YAAY,CAAA,EAAG;AACvB,MAAA,WAAA,GAAc,QAAA;AAAA,IAChB;AACA,IAAA,QAAA,GAAA,CAAW,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAO,wBAAuB,EAAC;AAAA,EAC5C;AACA,EAAA,WAAA,CAAY,OAAO,MAAA,CAAO,SAAA,GAAY,CAAC,CAAA,GAAK,CAAA,EAAG,GAAG,QAAQ,CAAA;AAC1D,EAAA,OAAO,WAAA;AACT;AAEO,SAAS,kBAAA,CACd,IAAA,EACA,MAAA,EACA,kBAAA,EACO;AACP,EAAA,IAAI,IAAA;AACJ,EAAA,IAAI,QAAA,GAAgB,IAAA;AACpB,EAAA,IAAI,cAAmB,EAAC;AACxB,EAAA,MAAM,YAAY,MAAA,CAAO,MAAA;AACzB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,IAAA,IAAA,GAAO,QAAA,CAAS,MAAA,CAAO,CAAC,CAAE,CAAA;AAC1B,IAAA,IAAI,CAAA,KAAM,YAAY,CAAA,EAAG;AACvB,MAAA,WAAA,GAAc,QAAA;AAAA,IAChB;AACA,IAAA,QAAA,GAAA,CAAW,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAO,wBAAuB,EAAC;AAAA,EAC5C;AACA,EAAA,WAAA,CAAY,MAAA,CAAO,MAAA,CAAO,SAAA,GAAY,CAAC,GAAI,CAAC,CAAA;AAC5C,EAAA,OAAO,WAAA;AACT;AAEO,SAAS,UAAmB,GAAA,EAAiC;AAClE,EAAA,OAAO,EAAA,CAAG,GAAA,EAAK,SAAS,CAAA,IAAK,QAAA,CAAS,GAAG,CAAA,IAAK,UAAA,CAAW,GAAA,CAAI,IAAI,CAAA,IAAK,UAAA,CAAW,IAAI,KAAK,CAAA;AAC5F;AAEO,SAAS,iBAAiB,MAAA,EAAkB;AACjD,EAAA,OAAO,MAAA,CAAO,IAAA;AAAA,IACZ,CAAC,KAAA,KACC,CAACD,WAAA,CAAQ,KAAK,KACb,KAAA,CAAM,IAAA,KAASG,WAAA,IAAW,EAAE,MAAM,IAAA,KAASD,YAAA,IAAY,CAAC,gBAAA,CAAiB,MAAM,QAAQ,CAAA;AAAA,MAExF,MAAA,GACA,IAAA;AACN;AAEO,MAAM,UAAA,GAAa,CAAC,UAAA,EAA0B,MAAA,KAAsB;AACzE,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,OAAO,WAAW,SAAA,EAAW;AAC/B,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAO,UAAU,CAAA;AAC1B;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../packages/components/table/src/utils/util.ts"],"sourcesContent":["import { isVNode, camelize, Fragment, Comment } from 'vue'\n\nimport type { CSSProperties, VNodeChild, VNodeNormalizedChildren, VNode } from 'vue'\nimport type {\n Bordered,\n BorderedType,\n ColumnsType,\n ColumnType,\n DataIndex,\n Key,\n} from '../components/interface'\n\nexport function is(val: unknown, type: string) {\n return toString.call(val) === `[object ${type}]`\n}\n\nexport function isFunction(val: unknown): val is Function {\n return typeof val === 'function'\n}\n\nexport function isArray(val: any): val is Array<any> {\n return val && Array.isArray(val)\n}\n\nexport function isString(val: unknown): val is string {\n return is(val, 'String')\n}\n\nexport declare const isSymbol: (val: any) => boolean\n\nexport function isObject(val: any): val is Record<any, any> {\n return val !== null && is(val, 'Object')\n}\n\nexport declare function getColumnKey<RecordType>(\n column: ColumnType<RecordType>,\n defaultKey: string,\n): Key\n\n/**\n * 根据 key 和 dataIndex 生成唯一 id\n *\n * @param key 用户设置的 key\n * @param dataIndex 在对象中的数据\n * @param index 序列号,理论上唯一\n */\nexport const genColumnKey = (key?: string | number, index?: number | string): string => {\n if (key) {\n return Array.isArray(key) ? key.join('-') : key.toString()\n }\n return `${index}`\n}\n\nexport function getColumnPos(index: number, pos?: string) {\n return pos ? `${pos}-${index}` : `${index}`\n}\nexport declare function getNewColumnsByWidth<RecordType>(\n columns: ColumnsType<RecordType>,\n newWidths: Record<string, number>,\n pos?: string,\n): ColumnsType<RecordType>\nexport declare type SortOrder = 'desc' | 'asc' | null\nexport interface ColumnTitleProps<RecordType> {\n /** @deprecated Please use `sorterColumns` instead. */\n sortOrder?: SortOrder\n /** @deprecated Please use `sorterColumns` instead. */\n sortColumn?: ColumnType<RecordType>\n sortColumns?: {\n column: ColumnType<RecordType>\n order: SortOrder\n }[]\n filters?: Record<string, string[]>\n}\nexport declare function renderColumnTitle<RecordType>(\n title: any,\n props: ColumnTitleProps<RecordType>,\n): any\nexport function objectToEmpty(obj: Record<string, any>): void {\n for (const key in obj) Object.prototype.hasOwnProperty.call(obj, key) && delete obj[key]\n}\n\nfunction toArray<T>(arr: T | readonly T[]): T[] {\n if (arr === undefined || arr === null) {\n return []\n }\n return (Array.isArray(arr) ? arr : [arr]) as T[]\n}\n\nexport function getPathValue<ValueType, ObjectType extends object>(\n record: ObjectType,\n path: DataIndex,\n): ValueType | null {\n // Skip if path is empty\n if (!path && typeof path !== 'number') {\n return record as unknown as ValueType\n }\n\n const pathList = toArray(path)\n\n let current: ValueType | ObjectType = record\n\n for (let i = 0; i < pathList.length; i += 1) {\n if (!current) {\n return null\n }\n\n const prop = pathList[i]!\n current = current[prop]\n }\n\n return current as ValueType\n}\n\nexport declare function setPathValue<ValueType, ObjectType extends object>(\n record: ObjectType,\n path: DataIndex,\n value: ValueType,\n): ValueType\n\nexport function isValidElement(element: VNode | VNode[]) {\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]!\n }\n return element && isVNode(element) && typeof element.type !== 'symbol' // remove text node\n}\n\nexport const parseStyleText = (cssText: string | CSSProperties, camel?: boolean) => {\n const res = {}\n const listDelimiter = /;(?![^(]*\\))/g\n const propertyDelimiter = /:(.+)/\n if (typeof cssText === 'object') return cssText\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n const tmp = item.split(propertyDelimiter)\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0]!.trim()) : tmp[0]!.trim()\n res[k] = tmp[1]!.trim()\n }\n }\n })\n return res\n}\n\nexport function setPromise(fn: any): {\n promise: Promise<void>\n cancel: () => void\n} {\n let rejectFn: (reason?: any) => void\n let isCancel = false\n return {\n promise: new Promise((resolve, reject) => {\n rejectFn = reject\n Promise.resolve().then(() => {\n resolve('')\n })\n })\n .then(() => {\n if (!isCancel) {\n fn()\n }\n })\n .catch(() => {}),\n cancel: () => {\n isCancel = true\n rejectFn && rejectFn()\n },\n }\n}\n\nexport function arrDel(list: Key[], value: Key) {\n if (!list) return []\n const clone = list.slice()\n const index = clone.indexOf(value)\n if (index >= 0) {\n clone.splice(index, 1)\n }\n return clone\n}\n\nexport function arrAdd(list: Key[], value: Key) {\n const clone = (list || []).slice()\n if (clone.indexOf(value) === -1) {\n clone.push(value)\n }\n return clone\n}\nexport declare function isEmptyElement(c: any): boolean\n\nconst isValid = (value: any): boolean => {\n return value !== undefined && value !== null && value !== ''\n}\nexport default isValid\n\nexport type VNodeChildAtom = Exclude<VNodeChild, Array<any>>\nexport type RawSlots = Exclude<VNodeNormalizedChildren, Array<any> | null | string>\n\nexport type FlattenVNodes = Array<VNodeChildAtom | RawSlots>\nconst flattenChildren = (\n children: FlattenVNodes | VNode | VNodeNormalizedChildren,\n filterEmpty = true,\n): FlattenVNodes => {\n const vNodes = isArray(children) ? children : [children]\n const result: FlattenVNodes = []\n vNodes.forEach((child: any) => {\n if (isArray(child)) {\n result.push(...flattenChildren(child, filterEmpty))\n } else if (child && child.type === Fragment) {\n result.push(...flattenChildren(child.children, filterEmpty))\n } else if (child && isVNode(child)) {\n if (filterEmpty && !isEmptyElement(child)) {\n result.push(child)\n } else if (!filterEmpty) {\n result.push(child)\n }\n } else if (isValid(child)) {\n result.push(child)\n }\n })\n return result\n}\nexport function convertChildrenToColumns<RecordType>(\n elements: any[] = [],\n): ColumnsType<RecordType> {\n const flattenElements = flattenChildren(elements)\n const columns: any[] = []\n flattenElements.forEach((element: any) => {\n if (!element) {\n return\n }\n const key = element.key\n const style = element.props?.style || {}\n const cls = element.props?.class || ''\n const props = element.props || {}\n for (const [k, v] of Object.entries(props)) {\n props[camelize(k)] = v\n }\n const { default: children, ...restSlots } = element.children || {}\n const column = { ...restSlots, ...props, style, class: cls }\n if (key) {\n column.key = key\n }\n if (element.type?.__S_TABLE_COLUMN_GROUP) {\n column.children = convertChildrenToColumns(\n typeof children === 'function' ? children() : children,\n )\n } else {\n const customRender = element.children?.default\n column.customRender = column.customRender || customRender\n }\n columns.push(column)\n })\n return columns\n}\n\nexport const eventsClose = (e1: MouseEvent | Touch, e2: MouseEvent | Touch, diff: number) => {\n return (\n diff !== 0 &&\n Math.max(Math.abs(e1.clientX - e2.clientX), Math.abs(e1.clientY - e2.clientY)) <= diff\n )\n}\nexport declare function getNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n): T\nexport function addNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n itemData: T,\n): any[] {\n let item: T\n let copyData: T[] = data\n let currentData: T[] = []\n const indexsLen = indexs.length\n if (indexsLen === 0) {\n data.splice(0, 0, itemData)\n return data\n }\n for (let i = 0; i < indexsLen; i++) {\n item = copyData[indexs[i]!]!\n if (i === indexsLen - 1) {\n currentData = copyData\n }\n copyData = item?.[childrenColumnName] || []\n }\n currentData.splice(indexs[indexsLen - 1]! + 1, 0, itemData)\n return currentData\n}\n\nexport function deleteNestItemData<T>(\n data: T[],\n indexs: number[],\n childrenColumnName: string,\n): any[] {\n let item: T\n let copyData: T[] = data\n let currentData: T[] = []\n const indexsLen = indexs.length\n for (let i = 0; i < indexsLen; i++) {\n item = copyData[indexs[i]!]!\n if (i === indexsLen - 1) {\n currentData = copyData\n }\n copyData = item?.[childrenColumnName] || []\n }\n currentData.splice(indexs[indexsLen - 1]!, 1)\n return currentData\n}\n\nexport function isPromise<T = any>(val: any): val is Promise<T> {\n return is(val, 'Promise') && isFunction(val.then) && isFunction(val.catch)\n}\n\nexport function ensureValidVNode(vnodes: any): any {\n return vnodes.some(\n (vnode: any) =>\n !isVNode(vnode) ||\n (vnode.type !== Comment && !(vnode.type === Fragment && !ensureValidVNode(vnode.children))),\n )\n ? vnodes\n : null\n}\n\nexport const isBordered = (borderType: BorderedType, border?: Bordered) => {\n if (border === undefined) {\n return false\n }\n if (typeof border === 'boolean') {\n return border\n }\n return border[borderType]\n}\n"],"names":["isVNode","camelize","Fragment","Comment"],"mappings":"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"}
|