@gx-design-vue/pro-table 0.2.0-beta.44 → 0.2.0-beta.46
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/ProTable.d.ts +11 -26
- package/dist/components/ListToolBar/index.d.ts +2 -2
- package/dist/components/ToolBar/FullscreenIcon.d.ts +1 -1
- package/dist/components/ToolBar/index.d.ts +1 -1
- package/dist/props.d.ts +4 -10
- package/dist/types/ColumnTypings.d.ts +91 -0
- package/dist/types/TableTypings.d.ts +151 -0
- package/package.json +5 -5
package/dist/ProTable.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
9
9
|
default: undefined;
|
|
10
10
|
};
|
|
11
11
|
columns: {
|
|
12
|
-
type: import("vue").PropType<ProColumnsType<
|
|
12
|
+
type: import("vue").PropType<ProColumnsType<any> | undefined>;
|
|
13
13
|
default: never[];
|
|
14
14
|
};
|
|
15
15
|
pagination: {
|
|
@@ -17,14 +17,11 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
17
17
|
default: () => undefined;
|
|
18
18
|
};
|
|
19
19
|
rowKey: {
|
|
20
|
-
type: import("vue").PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<
|
|
20
|
+
type: import("vue").PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<any> & string) | undefined>;
|
|
21
21
|
default: undefined;
|
|
22
22
|
};
|
|
23
23
|
request: {
|
|
24
|
-
type: import("vue").PropType<import("./types/TableTypings").RequsetFunction<
|
|
25
|
-
pageSize?: number | undefined;
|
|
26
|
-
pageNum?: number | undefined;
|
|
27
|
-
}> | undefined>;
|
|
24
|
+
type: import("vue").PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
28
25
|
default: null;
|
|
29
26
|
};
|
|
30
27
|
virtualScroll: import("vue").PropType<boolean | undefined>;
|
|
@@ -128,10 +125,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
128
125
|
onSizeChange: import("vue").PropType<((size: string) => any) | undefined>;
|
|
129
126
|
onLoadingChange: import("vue").PropType<((loading: boolean) => any) | undefined>;
|
|
130
127
|
onRequestError: import("vue").PropType<((e: Error) => void) | undefined>;
|
|
131
|
-
onBeforeSearchSubmit: import("vue").PropType<import("./types/TableTypings").RequsetFunction<
|
|
132
|
-
pageSize?: number | undefined;
|
|
133
|
-
pageNum?: number | undefined;
|
|
134
|
-
}> | undefined>;
|
|
128
|
+
onBeforeSearchSubmit: import("vue").PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
135
129
|
onColumnsStateChange: import("vue").PropType<((data: import("./hooks/useColumnSetting").ColumnsState[]) => void) | undefined>;
|
|
136
130
|
prefixCls: {
|
|
137
131
|
type: import("vue").PropType<string>;
|
|
@@ -368,7 +362,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
368
362
|
default: undefined;
|
|
369
363
|
};
|
|
370
364
|
columns: {
|
|
371
|
-
type: import("vue").PropType<ProColumnsType<
|
|
365
|
+
type: import("vue").PropType<ProColumnsType<any> | undefined>;
|
|
372
366
|
default: never[];
|
|
373
367
|
};
|
|
374
368
|
pagination: {
|
|
@@ -376,14 +370,11 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
376
370
|
default: () => undefined;
|
|
377
371
|
};
|
|
378
372
|
rowKey: {
|
|
379
|
-
type: import("vue").PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<
|
|
373
|
+
type: import("vue").PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<any> & string) | undefined>;
|
|
380
374
|
default: undefined;
|
|
381
375
|
};
|
|
382
376
|
request: {
|
|
383
|
-
type: import("vue").PropType<import("./types/TableTypings").RequsetFunction<
|
|
384
|
-
pageSize?: number | undefined;
|
|
385
|
-
pageNum?: number | undefined;
|
|
386
|
-
}> | undefined>;
|
|
377
|
+
type: import("vue").PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
387
378
|
default: null;
|
|
388
379
|
};
|
|
389
380
|
virtualScroll: import("vue").PropType<boolean | undefined>;
|
|
@@ -487,10 +478,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
487
478
|
onSizeChange: import("vue").PropType<((size: string) => any) | undefined>;
|
|
488
479
|
onLoadingChange: import("vue").PropType<((loading: boolean) => any) | undefined>;
|
|
489
480
|
onRequestError: import("vue").PropType<((e: Error) => void) | undefined>;
|
|
490
|
-
onBeforeSearchSubmit: import("vue").PropType<import("./types/TableTypings").RequsetFunction<
|
|
491
|
-
pageSize?: number | undefined;
|
|
492
|
-
pageNum?: number | undefined;
|
|
493
|
-
}> | undefined>;
|
|
481
|
+
onBeforeSearchSubmit: import("vue").PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
494
482
|
onColumnsStateChange: import("vue").PropType<((data: import("./hooks/useColumnSetting").ColumnsState[]) => void) | undefined>;
|
|
495
483
|
prefixCls: {
|
|
496
484
|
type: import("vue").PropType<string>;
|
|
@@ -734,7 +722,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
734
722
|
onBeforeSearchSubmit?: ((...args: any[]) => any) | undefined;
|
|
735
723
|
onColumnsStateChange?: ((...args: any[]) => any) | undefined;
|
|
736
724
|
}, {
|
|
737
|
-
columns: ProColumnsType<
|
|
725
|
+
columns: ProColumnsType<any> | undefined;
|
|
738
726
|
scroll: {
|
|
739
727
|
x?: string | number | true | undefined;
|
|
740
728
|
y?: string | number | undefined;
|
|
@@ -742,7 +730,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
742
730
|
scrollToFirstRowOnChange?: boolean | undefined;
|
|
743
731
|
};
|
|
744
732
|
prefixCls: string;
|
|
745
|
-
rowKey: string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<
|
|
733
|
+
rowKey: string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<any> & string) | undefined;
|
|
746
734
|
tableLayout: import("ant-design-vue/es/vc-table/interface").TableLayout | undefined;
|
|
747
735
|
rowClassName: string | import("ant-design-vue/es/vc-table/interface").RowClassName<any> | undefined;
|
|
748
736
|
title: import("ant-design-vue/es/vc-table/interface").PanelRender<any> | undefined;
|
|
@@ -857,10 +845,7 @@ declare const GProTable: import("vue").DefineComponent<{
|
|
|
857
845
|
options: boolean | OptionConfig | undefined;
|
|
858
846
|
waitRequest: boolean | undefined;
|
|
859
847
|
debounceTime: number | undefined;
|
|
860
|
-
request: import("./types/TableTypings").RequsetFunction<
|
|
861
|
-
pageSize?: number | undefined;
|
|
862
|
-
pageNum?: number | undefined;
|
|
863
|
-
}> | undefined;
|
|
848
|
+
request: import("./types/TableTypings").RequsetFunction<any, undefined> | undefined;
|
|
864
849
|
search: boolean | SearchConfig | undefined;
|
|
865
850
|
searchMap: import("./types/ColumnTypings").ProSearchMap[] | undefined;
|
|
866
851
|
titleTip: TitleTipRender;
|
|
@@ -11,7 +11,7 @@ declare const ListToolBar: import("vue").DefineComponent<{
|
|
|
11
11
|
type: PropType<import("../../types/SlotsTypings").ToolBarBtnRender>;
|
|
12
12
|
default: () => undefined;
|
|
13
13
|
};
|
|
14
|
-
settings: PropType<
|
|
14
|
+
settings: PropType<VueNode[]>;
|
|
15
15
|
titleTip: {
|
|
16
16
|
type: PropType<import("../../types/SlotsTypings").TitleTipRender>;
|
|
17
17
|
default: () => undefined;
|
|
@@ -34,7 +34,7 @@ declare const ListToolBar: import("vue").DefineComponent<{
|
|
|
34
34
|
type: PropType<import("../../types/SlotsTypings").ToolBarBtnRender>;
|
|
35
35
|
default: () => undefined;
|
|
36
36
|
};
|
|
37
|
-
settings: PropType<
|
|
37
|
+
settings: PropType<VueNode[]>;
|
|
38
38
|
titleTip: {
|
|
39
39
|
type: PropType<import("../../types/SlotsTypings").TitleTipRender>;
|
|
40
40
|
default: () => undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const FullScreenIcon: import("vue").DefineComponent<{}, () =>
|
|
1
|
+
declare const FullScreenIcon: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
|
|
2
2
|
export default FullScreenIcon;
|
|
@@ -18,7 +18,7 @@ declare const ToolbarRender: import("vue").DefineComponent<{
|
|
|
18
18
|
titleTipText: PropType<string | undefined>;
|
|
19
19
|
toolBarBtn: PropType<import("../../types/SlotsTypings").ToolBarBtnRender>;
|
|
20
20
|
headerTitle: PropType<import("../../types/SlotsTypings").HeaderTitleRender>;
|
|
21
|
-
}, () =>
|
|
21
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
22
|
options: PropType<boolean | OptionConfig | undefined>;
|
|
23
23
|
titleTip: PropType<import("../../types/SlotsTypings").TitleTipRender>;
|
|
24
24
|
settingExtra: PropType<import("../../types/SlotsTypings").SettingExtraRender>;
|
package/dist/props.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const proTableProps: {
|
|
|
6
6
|
default: undefined;
|
|
7
7
|
};
|
|
8
8
|
columns: {
|
|
9
|
-
type: PropType<import(".").ProColumnsType<
|
|
9
|
+
type: PropType<import(".").ProColumnsType<any> | undefined>;
|
|
10
10
|
default: never[];
|
|
11
11
|
};
|
|
12
12
|
pagination: {
|
|
@@ -14,7 +14,7 @@ export declare const proTableProps: {
|
|
|
14
14
|
default: () => undefined;
|
|
15
15
|
};
|
|
16
16
|
rowKey: {
|
|
17
|
-
type: PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<
|
|
17
|
+
type: PropType<string | (import("ant-design-vue/es/vc-table/interface").GetRowKey<any> & string) | undefined>;
|
|
18
18
|
default: undefined;
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
@@ -24,10 +24,7 @@ export declare const proTableProps: {
|
|
|
24
24
|
* @description 获取 dataSource 的方法
|
|
25
25
|
*/
|
|
26
26
|
request: {
|
|
27
|
-
type: PropType<import("./types/TableTypings").RequsetFunction<
|
|
28
|
-
pageSize?: number | undefined;
|
|
29
|
-
pageNum?: number | undefined;
|
|
30
|
-
}> | undefined>;
|
|
27
|
+
type: PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
31
28
|
default: null;
|
|
32
29
|
};
|
|
33
30
|
virtualScroll: PropType<boolean | undefined>;
|
|
@@ -251,10 +248,7 @@ export declare const proTableProps: {
|
|
|
251
248
|
onSizeChange: PropType<((size: string) => any) | undefined>;
|
|
252
249
|
onLoadingChange: PropType<((loading: boolean) => any) | undefined>;
|
|
253
250
|
onRequestError: PropType<((e: Error) => void) | undefined>;
|
|
254
|
-
onBeforeSearchSubmit: PropType<import("./types/TableTypings").RequsetFunction<
|
|
255
|
-
pageSize?: number | undefined;
|
|
256
|
-
pageNum?: number | undefined;
|
|
257
|
-
}> | undefined>;
|
|
251
|
+
onBeforeSearchSubmit: PropType<import("./types/TableTypings").RequsetFunction<any, undefined> | undefined>;
|
|
258
252
|
onColumnsStateChange: PropType<((data: import("./hooks/useColumnSetting").ColumnsState[]) => void) | undefined>;
|
|
259
253
|
prefixCls: {
|
|
260
254
|
type: PropType<string>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { RecordType, VueNode } from '@gx-design-vue/pro-utils';
|
|
2
|
+
import type { DefaultRecordType } from '../typing';
|
|
3
|
+
import type { ColumnType } from '../_utils';
|
|
4
|
+
/**
|
|
5
|
+
* @param text 文本框
|
|
6
|
+
* @param date 日期 YYYY-MM-DD
|
|
7
|
+
* @param dateMonth 月选择器
|
|
8
|
+
* @param dateRange 日期范围 YYYY-MM-DD[]
|
|
9
|
+
* @param time: 时间 HH:mm:ss
|
|
10
|
+
* @param select 下拉选择器
|
|
11
|
+
*/
|
|
12
|
+
export type ProFieldValueType = 'text' | 'date' | 'select' | 'treeSelect' | 'dateMonth' | 'dateRange' | 'time';
|
|
13
|
+
/**
|
|
14
|
+
* @param text 文本框
|
|
15
|
+
* @param date 日期 YYYY-MM-DD
|
|
16
|
+
* @param dateMonth 月选择器
|
|
17
|
+
* @param dateRange 日期范围 YYYY-MM-DD[]
|
|
18
|
+
* @param time: 时间 HH:mm:ss
|
|
19
|
+
* @param select 下拉选择器
|
|
20
|
+
*/
|
|
21
|
+
export type ProFieldValueFormat = 'YYYY-MM-DD' | 'YYYY-MM' | 'YYYY-MM-DD HH:mm:ss' | 'HH:mm:ss';
|
|
22
|
+
export type ProSchemaValueEnumType = {
|
|
23
|
+
/** @name 演示的文案 */
|
|
24
|
+
text: VueNode | JSX.Element;
|
|
25
|
+
/** @name 演示的value值 */
|
|
26
|
+
value: any;
|
|
27
|
+
/** @name 是否禁用 */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
};
|
|
30
|
+
type ProSchemaValueType<ValueType> = (ValueType | ProFieldValueType);
|
|
31
|
+
export type ProSearchMap<ValueType = 'text'> = {
|
|
32
|
+
name?: string;
|
|
33
|
+
/** 选择如何渲染相应的模式 */
|
|
34
|
+
valueType?: ProSchemaValueType<ValueType>;
|
|
35
|
+
/** valueType为date|dateMonth|dateRange|time生效 */
|
|
36
|
+
valueFormat?: ProFieldValueFormat;
|
|
37
|
+
placeholder?: string | string[];
|
|
38
|
+
/** valueType为select生效 */
|
|
39
|
+
allowClear?: boolean;
|
|
40
|
+
/** valueType为select生效 */
|
|
41
|
+
showSearch?: boolean;
|
|
42
|
+
/** valueType为date生效 */
|
|
43
|
+
showToday?: boolean;
|
|
44
|
+
/** valueType为dateRange生效 */
|
|
45
|
+
rangeStartName?: string;
|
|
46
|
+
/** valueType为dateRange生效 */
|
|
47
|
+
rangeEndName?: string;
|
|
48
|
+
/** valueType为time生效 */
|
|
49
|
+
use12Hours?: boolean;
|
|
50
|
+
/** valueType为select生效 */
|
|
51
|
+
loading?: boolean;
|
|
52
|
+
/** valueType为date、dateRange生效 */
|
|
53
|
+
showTime?: RecordType | boolean;
|
|
54
|
+
/** 搜索表单的默认值 */
|
|
55
|
+
initialValue?: any;
|
|
56
|
+
/** 针对select、treeselect取值的key */
|
|
57
|
+
valueKey?: string;
|
|
58
|
+
/** 表单的属性值(ant-design)*/
|
|
59
|
+
field?: RecordType;
|
|
60
|
+
/**
|
|
61
|
+
* 支持 object 和Map,Map 是支持其他基础类型作为 key
|
|
62
|
+
*
|
|
63
|
+
* @name 映射值的类型
|
|
64
|
+
*/
|
|
65
|
+
valueEnum?: ProSchemaValueEnumType[];
|
|
66
|
+
};
|
|
67
|
+
export type ProColumnType<RecordType = DefaultRecordType> = ColumnType<RecordType> & {
|
|
68
|
+
children?: ProColumnsType<RecordType>;
|
|
69
|
+
uuid?: string | number;
|
|
70
|
+
/** 不在列表中显示 */
|
|
71
|
+
show?: boolean;
|
|
72
|
+
/** 列表顺序值 */
|
|
73
|
+
order?: number;
|
|
74
|
+
/** 不在配置工具中显示 */
|
|
75
|
+
hideInSetting?: boolean;
|
|
76
|
+
/** 表单搜索配置 */
|
|
77
|
+
searchConfig?: ProSearchMap;
|
|
78
|
+
/** 是否拷贝 */
|
|
79
|
+
copyable?: boolean;
|
|
80
|
+
/** 值为空时,默认取值 */
|
|
81
|
+
columnEmptyText?: string;
|
|
82
|
+
valueType?: ProColumnsValueType;
|
|
83
|
+
};
|
|
84
|
+
export type ProColumnsType<RecordType = DefaultRecordType> = (ProColumnType<RecordType>)[];
|
|
85
|
+
export type ProColumnsValueType = 'text' | 'link' | 'time' | 'dateMonth' | 'dateTime' | {
|
|
86
|
+
node?: string;
|
|
87
|
+
class?: string;
|
|
88
|
+
attr?: string;
|
|
89
|
+
click?: () => void;
|
|
90
|
+
};
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { ComputedRef, CSSProperties } from 'vue';
|
|
2
|
+
import type { RecordType, WithFalse, CustomRender, VueNode, SizeType, Breakpoint } from '@gx-design-vue/pro-utils';
|
|
3
|
+
import type { ProSearchMap, ProColumnType, ProColumnsType } from './ColumnTypings';
|
|
4
|
+
import type { HeaderTitleRender, ToolBarBtnRender, CustomizeRender, TitleTipRender, OptionsExtraRender, SettingExtraRender, PageItemRender } from './SlotsTypings';
|
|
5
|
+
import type { FilterValue, SorterResult, TableCurrentDataSource, TableRowSelection, TablePaginationConfig, TableProps } from '../_utils';
|
|
6
|
+
import type { ColumnSettingProps } from '../components/ColumnSetting';
|
|
7
|
+
import type { ColumnsState, ColumnsStateType } from '../hooks/useColumnSetting';
|
|
8
|
+
export type ProTabelFeachParams = {
|
|
9
|
+
params?: any;
|
|
10
|
+
filters?: Record<string, FilterValue | null>;
|
|
11
|
+
sorter?: SorterResult | SorterResult[];
|
|
12
|
+
pagination?: ProTablePagination;
|
|
13
|
+
removeKeys?: (string | number)[];
|
|
14
|
+
immediate?: boolean;
|
|
15
|
+
isPolling?: boolean;
|
|
16
|
+
showLoading?: boolean;
|
|
17
|
+
extra?: TableCurrentDataSource;
|
|
18
|
+
};
|
|
19
|
+
export type TablePaginationPosition = 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
|
|
20
|
+
export type ProFieldEmptyText = string | false;
|
|
21
|
+
export type ProTableRowSelection<T = any> = Omit<TableRowSelection<T>, 'selectedRowKeys'> & {
|
|
22
|
+
selectedRowKeys?: (string | number)[];
|
|
23
|
+
};
|
|
24
|
+
export interface ProTablePaginationConfig extends Omit<TablePaginationConfig, 'position'> {
|
|
25
|
+
total?: number;
|
|
26
|
+
position?: TablePaginationPosition[];
|
|
27
|
+
}
|
|
28
|
+
export type ProTablePagination = ProTablePaginationConfig | false;
|
|
29
|
+
export type DefaultParams = {
|
|
30
|
+
pageSize: number;
|
|
31
|
+
pageNum: number;
|
|
32
|
+
};
|
|
33
|
+
export type RequestData<T = any> = {
|
|
34
|
+
data: T[] | undefined;
|
|
35
|
+
success: boolean;
|
|
36
|
+
total: number;
|
|
37
|
+
};
|
|
38
|
+
export type RequsetConfig<T> = {
|
|
39
|
+
params: T extends undefined ? DefaultParams : {
|
|
40
|
+
pageSize: number;
|
|
41
|
+
pageNum: number;
|
|
42
|
+
} & Partial<T>;
|
|
43
|
+
sort: SorterResult | SorterResult[];
|
|
44
|
+
filter: Record<string, FilterValue | null>;
|
|
45
|
+
extra: TableCurrentDataSource;
|
|
46
|
+
};
|
|
47
|
+
export type RequsetFunction<T = any, D = undefined> = (params: RequsetConfig<D>['params'], sort: RequsetConfig<D>['sort'], filter: RequsetConfig<D>['filter']) => Promise<Partial<RequestData<T>>>;
|
|
48
|
+
export type ColConfig = Partial<Record<Breakpoint, number>>;
|
|
49
|
+
export type SearchConfig = {
|
|
50
|
+
searchText?: string;
|
|
51
|
+
resetText?: string;
|
|
52
|
+
className?: string;
|
|
53
|
+
defaultCollapsed?: boolean;
|
|
54
|
+
showSearch?: boolean;
|
|
55
|
+
showReset?: boolean;
|
|
56
|
+
collapseRender?: WithFalse<(collapsed?: boolean) => CustomRender>;
|
|
57
|
+
span?: ColConfig;
|
|
58
|
+
};
|
|
59
|
+
export interface OptionConfig {
|
|
60
|
+
reload?: (() => VueNode | JSX.Element) | boolean;
|
|
61
|
+
density?: boolean;
|
|
62
|
+
setting?: boolean | ColumnSettingProps;
|
|
63
|
+
fullScreen?: (() => VueNode | JSX.Element) | boolean | (() => Promise<void>);
|
|
64
|
+
}
|
|
65
|
+
/** action表格实例 */
|
|
66
|
+
export interface ProCoreActionType {
|
|
67
|
+
/** @name loadingStatus */
|
|
68
|
+
getLoadingStatus?: () => boolean;
|
|
69
|
+
dataSource?: any;
|
|
70
|
+
pageParams?: RecordType | boolean;
|
|
71
|
+
selectedKey?: (string | number)[];
|
|
72
|
+
selectedItem?: RecordType[];
|
|
73
|
+
/** @name 刷新 */
|
|
74
|
+
reload?: (info?: ProTabelFeachParams) => void;
|
|
75
|
+
/** @name 刷新并清空表单,重置为第一页 */
|
|
76
|
+
reloadAndRest?: (callBack?: () => void) => void;
|
|
77
|
+
/** @name 设置翻页*/
|
|
78
|
+
setPagination?: (pagination: ProTablePaginationConfig) => void;
|
|
79
|
+
/** @name 设置翻页、排序、筛选、并且reload */
|
|
80
|
+
setPageAndReload?: (pagination: ProTablePaginationConfig, filters?: Record<string, FilterValue | null>, sorter?: SorterResult | SorterResult[], extra?: TableCurrentDataSource) => void;
|
|
81
|
+
/** @name 更新TableData属性值 */
|
|
82
|
+
reSetDataList?: (data: RecordType[]) => void;
|
|
83
|
+
/** @name 更新TableData属性值 */
|
|
84
|
+
changeDataValue?: ({ key, params, type }: {
|
|
85
|
+
key?: string;
|
|
86
|
+
params: RecordType;
|
|
87
|
+
type?: 'update' | 'add' | 'delete';
|
|
88
|
+
}) => void;
|
|
89
|
+
/** @name 改变loading状态 */
|
|
90
|
+
loadingOperation?: (loading: boolean) => void;
|
|
91
|
+
}
|
|
92
|
+
/** form查询表单实例 */
|
|
93
|
+
export interface ProCoreFormType {
|
|
94
|
+
/** @name 获取表格-表单请求参数 */
|
|
95
|
+
getTableFormState?: () => RecordType;
|
|
96
|
+
/** @name 获取表格-内部表单参数 */
|
|
97
|
+
getFormState?: () => RecordType;
|
|
98
|
+
/** @name 重置内部表单组件参数 */
|
|
99
|
+
restForm?: (callBack?: () => void) => void;
|
|
100
|
+
}
|
|
101
|
+
export interface ProTableRef {
|
|
102
|
+
loading: ComputedRef<boolean>;
|
|
103
|
+
formRef: () => ProCoreFormType;
|
|
104
|
+
actionRef: () => ProCoreActionType;
|
|
105
|
+
}
|
|
106
|
+
export type ProTableProps<RecordType = any> = Omit<TableProps<RecordType>, 'columns'> & Partial<{
|
|
107
|
+
tableClassName: string;
|
|
108
|
+
tableStyle: CSSProperties;
|
|
109
|
+
rowKey: string;
|
|
110
|
+
titleTipText: string;
|
|
111
|
+
autoScroll: boolean;
|
|
112
|
+
columnEmptyText: ProFieldEmptyText;
|
|
113
|
+
showLoading: boolean;
|
|
114
|
+
neverScroll: boolean;
|
|
115
|
+
modalScroll: boolean;
|
|
116
|
+
scrollBreakpoint: Breakpoint | number;
|
|
117
|
+
draggabled: boolean;
|
|
118
|
+
bordered: boolean;
|
|
119
|
+
showIndex: boolean;
|
|
120
|
+
virtualScroll: boolean;
|
|
121
|
+
size: SizeType;
|
|
122
|
+
align: ProColumnType['align'];
|
|
123
|
+
options: OptionConfig | boolean;
|
|
124
|
+
rowSelection: ProTableRowSelection;
|
|
125
|
+
columns: ProColumnsType<RecordType>;
|
|
126
|
+
columnsState: ColumnsStateType;
|
|
127
|
+
waitRequest: boolean;
|
|
128
|
+
polling: number;
|
|
129
|
+
debounceTime: number;
|
|
130
|
+
request: RequsetFunction<RecordType>;
|
|
131
|
+
params: Record<string, any>;
|
|
132
|
+
postData: (data: any[]) => any;
|
|
133
|
+
pagination: ProTablePagination;
|
|
134
|
+
search: SearchConfig | boolean;
|
|
135
|
+
searchMap: ProSearchMap[];
|
|
136
|
+
onReset: (params?: Partial<Record<string, any>>) => any;
|
|
137
|
+
onReload: (params?: Partial<Record<string, any>>) => any;
|
|
138
|
+
onSubmit: (params?: Partial<Record<string, any>>) => any;
|
|
139
|
+
onSizeChange: (size: string) => any;
|
|
140
|
+
onLoadingChange: (loading: boolean) => any;
|
|
141
|
+
onRequestError: (e: Error) => void;
|
|
142
|
+
onBeforeSearchSubmit: RequsetFunction<RecordType>;
|
|
143
|
+
onColumnsStateChange: (data: ColumnsState[]) => void;
|
|
144
|
+
titleTip: TitleTipRender;
|
|
145
|
+
headerTitle: HeaderTitleRender;
|
|
146
|
+
toolBarBtn: ToolBarBtnRender;
|
|
147
|
+
customRender: CustomizeRender;
|
|
148
|
+
optionsExtra: OptionsExtraRender;
|
|
149
|
+
settingExtra: SettingExtraRender;
|
|
150
|
+
pageItemRender: PageItemRender;
|
|
151
|
+
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gx-design-vue/pro-table",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.46",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "vite",
|
|
6
6
|
"build": "vite build",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@vueuse/core": "^9.10.0",
|
|
29
|
-
"@gx-design-vue/pro-utils": "^0.2.0-beta.
|
|
30
|
-
"@gx-design-vue/pro-hooks": "^0.2.0-beta.
|
|
31
|
-
"@gx-design-vue/pro-provider": "^0.1.0-beta.
|
|
32
|
-
"@gx-design-vue/pro-app": "^0.1.0-beta.
|
|
29
|
+
"@gx-design-vue/pro-utils": "^0.2.0-beta.25",
|
|
30
|
+
"@gx-design-vue/pro-hooks": "^0.2.0-beta.18",
|
|
31
|
+
"@gx-design-vue/pro-provider": "^0.1.0-beta.49",
|
|
32
|
+
"@gx-design-vue/pro-app": "^0.1.0-beta.10",
|
|
33
33
|
"ant-design-vue": "^4.1.2",
|
|
34
34
|
"dayjs": "^1.11.0",
|
|
35
35
|
"lodash-es": "^4.17.21",
|