@antdv-vue/pro-table 0.0.0-stage → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/README.md +106 -2
  3. package/dist/InternalTable.d.ts +360 -0
  4. package/dist/InternalTable.js +444 -0
  5. package/dist/RenderTypings.d.ts +33 -0
  6. package/dist/RenderTypings.js +1 -0
  7. package/dist/ResizableTableTitle.d.ts +24 -0
  8. package/dist/ResizableTableTitle.js +89 -0
  9. package/dist/Store/Provide.d.ts +68 -0
  10. package/dist/Store/Provide.js +132 -0
  11. package/dist/Table.d.ts +363 -0
  12. package/dist/Table.js +151 -0
  13. package/dist/TableRender.d.ts +54 -0
  14. package/dist/TableRender.js +295 -0
  15. package/dist/components/Alert/index.d.ts +45 -0
  16. package/dist/components/Alert/index.js +94 -0
  17. package/dist/components/Alert/style/index.d.ts +8 -0
  18. package/dist/components/Alert/style/index.js +11 -0
  19. package/dist/components/ColumnSetting/CheckboxList.d.ts +24 -0
  20. package/dist/components/ColumnSetting/CheckboxList.js +138 -0
  21. package/dist/components/ColumnSetting/CheckboxListItem.d.ts +17 -0
  22. package/dist/components/ColumnSetting/CheckboxListItem.js +84 -0
  23. package/dist/components/ColumnSetting/GroupCheckboxList.d.ts +22 -0
  24. package/dist/components/ColumnSetting/GroupCheckboxList.js +82 -0
  25. package/dist/components/ColumnSetting/ToolTipIcon.d.ts +12 -0
  26. package/dist/components/ColumnSetting/ToolTipIcon.js +47 -0
  27. package/dist/components/ColumnSetting/index.d.ts +26 -0
  28. package/dist/components/ColumnSetting/index.js +117 -0
  29. package/dist/components/ColumnSetting/style/index.d.ts +8 -0
  30. package/dist/components/ColumnSetting/style/index.js +73 -0
  31. package/dist/components/DragSortTable/index.d.ts +375 -0
  32. package/dist/components/DragSortTable/index.js +166 -0
  33. package/dist/components/DragSortTable/style/index.d.ts +8 -0
  34. package/dist/components/DragSortTable/style/index.js +25 -0
  35. package/dist/components/Dropdown/Button.d.ts +20 -0
  36. package/dist/components/Dropdown/Button.js +155 -0
  37. package/dist/components/Dropdown/index.d.ts +27 -0
  38. package/dist/components/Dropdown/index.js +149 -0
  39. package/dist/components/EditableTable/CellEditorTable.d.ts +63 -0
  40. package/dist/components/EditableTable/CellEditorTable.js +167 -0
  41. package/dist/components/EditableTable/EditableTable.d.ts +67 -0
  42. package/dist/components/EditableTable/EditableTable.js +141 -0
  43. package/dist/components/EditableTable/InternalEditableTable.d.ts +189 -0
  44. package/dist/components/EditableTable/InternalEditableTable.js +508 -0
  45. package/dist/components/EditableTable/RowEditorTable.d.ts +63 -0
  46. package/dist/components/EditableTable/RowEditorTable.js +147 -0
  47. package/dist/components/EditableTable/context.d.ts +9 -0
  48. package/dist/components/EditableTable/context.js +11 -0
  49. package/dist/components/EditableTable/index.d.ts +5 -0
  50. package/dist/components/EditableTable/index.js +5 -0
  51. package/dist/components/Form/FormRender.d.ts +77 -0
  52. package/dist/components/Form/FormRender.js +198 -0
  53. package/dist/components/Form/index.d.ts +33 -0
  54. package/dist/components/Form/index.js +91 -0
  55. package/dist/components/ToolBar/DensityIcon.d.ts +22 -0
  56. package/dist/components/ToolBar/DensityIcon.js +71 -0
  57. package/dist/components/ToolBar/FullScreenIcon.d.ts +6 -0
  58. package/dist/components/ToolBar/FullScreenIcon.js +30 -0
  59. package/dist/components/ToolBar/HeaderMenu.d.ts +22 -0
  60. package/dist/components/ToolBar/HeaderMenu.js +84 -0
  61. package/dist/components/ToolBar/index.d.ts +102 -0
  62. package/dist/components/ToolBar/index.js +322 -0
  63. package/dist/components/ToolBar/style/index.d.ts +8 -0
  64. package/dist/components/ToolBar/style/index.js +116 -0
  65. package/dist/index.d.ts +11 -0
  66. package/dist/index.js +10 -0
  67. package/dist/pro-table.esm.js +3274 -0
  68. package/dist/style/index.d.ts +11 -0
  69. package/dist/style/index.js +162 -0
  70. package/dist/typing.d.ts +409 -0
  71. package/dist/typing.js +1 -0
  72. package/dist/useFetchData.d.ts +10 -0
  73. package/dist/useFetchData.js +243 -0
  74. package/dist/utils/cellRenderToFromItem.d.ts +52 -0
  75. package/dist/utils/cellRenderToFromItem.js +163 -0
  76. package/dist/utils/columnRender.d.ts +54 -0
  77. package/dist/utils/columnRender.js +148 -0
  78. package/dist/utils/columnSort.d.ts +7 -0
  79. package/dist/utils/columnSort.js +17 -0
  80. package/dist/utils/genProColumnsToColumns.d.ts +69 -0
  81. package/dist/utils/genProColumnsToColumns.js +197 -0
  82. package/dist/utils/index.d.ts +122 -0
  83. package/dist/utils/index.js +227 -0
  84. package/dist/utils/useDragSort.d.ts +182 -0
  85. package/dist/utils/useDragSort.js +162 -0
  86. package/package.json +67 -3
@@ -0,0 +1,132 @@
1
+ import { genColumnKey } from "../utils/genProColumnsToColumns.js";
2
+ import { computed, inject, provide, shallowRef } from "vue";
3
+ import { merge, useEffect, useState } from "@antdv-vue/pro-utils";
4
+ import { useMergedState } from "@v-c/util";
5
+ //#region src/Store/Provide.tsx
6
+ function useContainer(props = {}) {
7
+ const action = shallowRef();
8
+ const rootDomRef = shallowRef(null);
9
+ const propsRef = shallowRef();
10
+ const prefixNameRef = shallowRef();
11
+ const [keyWords, setKeyWords] = useState("");
12
+ const sortKeyColumns = shallowRef([]);
13
+ const [tableSize, setTableSize] = useMergedState(() => props.size || props.defaultSize || "medium", {
14
+ value: computed(() => props.size),
15
+ onChange: props.onSizeChange
16
+ });
17
+ /** 默认全选中 */
18
+ const defaultColumnKeyMap = computed(() => {
19
+ if (props?.columnsState?.defaultValue) return props.columnsState.defaultValue;
20
+ const columnKeyMap = {};
21
+ props.columns?.forEach(({ key, dataIndex, fixed, disable }, index) => {
22
+ const columnKey = genColumnKey(key ?? dataIndex, index);
23
+ if (columnKey) columnKeyMap[columnKey] = {
24
+ show: true,
25
+ fixed,
26
+ disable
27
+ };
28
+ });
29
+ return columnKeyMap;
30
+ });
31
+ const [columnsMap, setColumnsMap] = useMergedState(() => {
32
+ const { persistenceType, persistenceKey } = props.columnsState || {};
33
+ if (persistenceKey && persistenceType && typeof window !== "undefined") {
34
+ /** 从持久化中读取数据 */
35
+ const storage = window[persistenceType];
36
+ try {
37
+ const storageValue = storage?.getItem(persistenceKey);
38
+ if (storageValue) {
39
+ if (props?.columnsState?.defaultValue) return merge({}, props?.columnsState?.defaultValue, JSON.parse(storageValue));
40
+ return JSON.parse(storageValue);
41
+ }
42
+ } catch (error) {
43
+ console.warn(error);
44
+ }
45
+ }
46
+ return props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap.value;
47
+ }, {
48
+ value: computed(() => props.columnsState?.value),
49
+ onChange: props.columnsState?.onChange || props.onColumnsStateChange
50
+ });
51
+ /** 配置或列更改时对columnsMap重新赋值 */
52
+ useEffect(() => {
53
+ const { persistenceType, persistenceKey } = props.columnsState || {};
54
+ if (persistenceKey && persistenceType && typeof window !== "undefined") {
55
+ /** 从持久化中读取数据 */
56
+ const storage = window[persistenceType];
57
+ try {
58
+ const storageValue = storage?.getItem(persistenceKey);
59
+ if (storageValue) if (props?.columnsState?.defaultValue) setColumnsMap(merge({}, props?.columnsState?.defaultValue, JSON.parse(storageValue)));
60
+ else setColumnsMap(JSON.parse(storageValue));
61
+ else setColumnsMap(defaultColumnKeyMap.value);
62
+ } catch (error) {
63
+ console.warn(error);
64
+ }
65
+ }
66
+ }, [
67
+ () => props.columnsState?.persistenceKey,
68
+ () => props.columnsState?.persistenceType,
69
+ () => defaultColumnKeyMap.value
70
+ ]);
71
+ /** 清空一下当前的 key */
72
+ const clearPersistenceStorage = () => {
73
+ const { persistenceType, persistenceKey } = props.columnsState || {};
74
+ if (!persistenceKey || !persistenceType || typeof window === "undefined") return;
75
+ /** 给持久化中设置数据 */
76
+ const storage = window[persistenceType];
77
+ try {
78
+ storage?.removeItem(persistenceKey);
79
+ } catch (error) {
80
+ console.warn(error);
81
+ }
82
+ };
83
+ useEffect(() => {
84
+ if (!props.columnsState?.persistenceKey || !props.columnsState?.persistenceType) return;
85
+ if (typeof window === "undefined") return;
86
+ /** 给持久化中设置数据 */
87
+ const { persistenceType, persistenceKey } = props.columnsState;
88
+ const storage = window[persistenceType];
89
+ try {
90
+ storage?.setItem(persistenceKey, JSON.stringify(columnsMap.value));
91
+ } catch (error) {
92
+ console.warn(error);
93
+ clearPersistenceStorage();
94
+ }
95
+ }, [
96
+ () => props.columnsState?.persistenceKey,
97
+ () => columnsMap.value,
98
+ () => props.columnsState?.persistenceType
99
+ ]);
100
+ return {
101
+ action,
102
+ setAction: (newAction) => {
103
+ action.value = newAction;
104
+ },
105
+ sortKeyColumns,
106
+ setSortKeyColumns: (keys) => {
107
+ sortKeyColumns.value = keys;
108
+ },
109
+ propsRef,
110
+ tableSize,
111
+ setTableSize,
112
+ prefixName: prefixNameRef,
113
+ setPrefixName: (name) => {
114
+ prefixNameRef.value = name;
115
+ },
116
+ columnsMap,
117
+ setColumnsMap,
118
+ keyWords,
119
+ setKeyWords,
120
+ columns: props.columns,
121
+ clearPersistenceStorage,
122
+ defaultColumnKeyMap,
123
+ rootDomRef
124
+ };
125
+ }
126
+ const tableContextKey = Symbol("tableContext");
127
+ function useTableContextProvider(props) {
128
+ return provide(tableContextKey, props);
129
+ }
130
+ const useTableContextInject = () => inject(tableContextKey, {});
131
+ //#endregion
132
+ export { tableContextKey, useContainer, useTableContextInject, useTableContextProvider };
@@ -0,0 +1,363 @@
1
+ import { DensitySize } from "./components/ToolBar/DensityIcon.js";
2
+ import { SearchConfig } from "./components/Form/FormRender.js";
3
+ import { ErrorBoundaryRender, OptionsRender, TableAlertRender, ToolBarRender } from "./RenderTypings.js";
4
+ import { BaseToolbarProps, OptionConfig } from "./components/ToolBar/index.js";
5
+ import { Bordered, ColumnStateType, FilterValue, ProColumns, ProTableProps, RequestData } from "./typing.js";
6
+ import * as _$vue from "vue";
7
+ import { Plugin } from "vue";
8
+ import * as _$_antdv_vue_pro_form0 from "@antdv-vue/pro-form";
9
+ import { ParamsType } from "@antdv-vue/pro-provider";
10
+ import * as _$_antdv_vue_pro_utils0 from "@antdv-vue/pro-utils";
11
+ import { ProFieldValueObjectType, ProFieldValueType } from "@antdv-vue/pro-utils";
12
+ import * as _$antdv_next0 from "antdv-next";
13
+ import { TableSummary } from "antdv-next";
14
+ import * as _$_antdv_vue_pro_field0 from "@antdv-vue/pro-field";
15
+ import * as _$_antdv_vue_pro_card0 from "@antdv-vue/pro-card";
16
+ import * as _$antdv_next_dist_form_FormItemLabel0 from "antdv-next/dist/form/FormItemLabel";
17
+ import * as _$antdv_next_dist_form_types0 from "antdv-next/dist/form/types";
18
+ import * as _$antdv_next_dist_table_interface0 from "antdv-next/dist/table/interface";
19
+ import * as _$dayjs from "dayjs";
20
+ import { VueNode as VueNode$1 } from "@v-c/util/dist/type";
21
+ import * as _$_antdv_vue_pro_form_dist_typing0 from "@antdv-vue/pro-form/dist/typing";
22
+ import * as _$_antdv_vue_pro_form_dist_layouts_QueryFilter_Actions0 from "@antdv-vue/pro-form/dist/layouts/QueryFilter/Actions";
23
+ import * as _$_antdv_vue_pro_form_dist_layouts_QueryFilter_index0 from "@antdv-vue/pro-form/dist/layouts/QueryFilter/index";
24
+ import * as _$_antdv_vue_pro_form_dist_RenderTypings0 from "@antdv-vue/pro-form/dist/RenderTypings";
25
+
26
+ //#region src/Table.d.ts
27
+ declare const _ProTable: new <DataType extends Record<string, any>, Params extends ParamsType = ParamsType, ValueType extends (ProFieldValueType | ProFieldValueObjectType) = "text">(props: {
28
+ dataSource?: DataType[] | undefined;
29
+ size?: DensitySize;
30
+ columns?: ProColumns<DataType, ValueType>[] | undefined;
31
+ toolbar?: BaseToolbarProps;
32
+ ghost?: boolean;
33
+ params?: Params | undefined;
34
+ columnsState?: ColumnStateType;
35
+ onSizeChange?: (size: DensitySize) => void;
36
+ cardProps?: _$_antdv_vue_pro_card0.ProCardProps | false;
37
+ tableRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1, domList: {
38
+ toolbar: VueNode$1;
39
+ alert: VueNode$1;
40
+ table: VueNode$1;
41
+ }) => VueNode$1) | undefined;
42
+ tableViewRender?: ((props: _$antdv_next0.TableProps<DataType> & {
43
+ class?: string;
44
+ style?: _$vue.CSSProperties;
45
+ onChange?: ((changePagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
46
+ }, defaultDom: VueNode$1) => VueNode$1) | undefined;
47
+ tableExtraRender?: ((props: ProTableProps<DataType, Params, ValueType>, dataSource: DataType[]) => VueNode$1) | undefined;
48
+ onChange?: ((pagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
49
+ searchFormRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1) => _$vue.VNode) | undefined;
50
+ request?: ((params: Params & {
51
+ pageSize?: number;
52
+ current?: number;
53
+ keyword?: string;
54
+ }, sort: Record<string, _$antdv_next0.TableSortOrder>, filter: Record<string, FilterValue>) => Promise<Partial<RequestData<DataType>>>) | undefined;
55
+ postData?: ((dataSource: DataType[]) => DataType[]) | undefined;
56
+ defaultData?: DataType[] | undefined;
57
+ toolBarRender?: _$_antdv_vue_pro_utils0.WithFalse<ToolBarRender<DataType> | undefined>;
58
+ optionsRender?: OptionsRender<DataType, ValueType> | undefined;
59
+ onLoad?: ((dataSource: DataType[]) => void) | undefined;
60
+ onLoadingChange?: (loading: boolean | _$antdv_next0.SpinProps | undefined) => void;
61
+ onRequestError?: (e: Error) => void;
62
+ polling?: number | ((dataSource: DataType[]) => number) | undefined;
63
+ tableClass?: string;
64
+ tableStyle?: _$vue.CSSProperties;
65
+ headerTitle?: VueNode$1;
66
+ tooltip?: string | _$antdv_next_dist_form_FormItemLabel0.FormItemTooltipType;
67
+ options?: _$_antdv_vue_pro_utils0.WithFalse<OptionConfig<DataType, ValueType>> | undefined;
68
+ search?: _$_antdv_vue_pro_utils0.WithFalse<SearchConfig>;
69
+ form?: Omit<Omit<_$antdv_next0.FormProps, "onReset" | "onFinish"> & _$_antdv_vue_pro_form_dist_typing0.ProFormGridConfig & {
70
+ submitter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<_$_antdv_vue_pro_form0.SubmitterProps<{
71
+ form?: _$antdv_next0.FormInstance;
72
+ }>>;
73
+ onFinish?: ((formData: DataType) => Promise<boolean | void> | void) | undefined;
74
+ loading?: boolean;
75
+ onLoadingChange?: (loading: boolean) => void;
76
+ formRef?: _$vue.ShallowRef<_$_antdv_vue_pro_form0.ProFormRef<DataType> | null> | undefined;
77
+ syncToUrl?: boolean | ((values: DataType & Record<string, any>, type: "get" | "set") => DataType) | undefined;
78
+ syncToUrlAsImportant?: boolean;
79
+ extraUrlParams?: Record<string, any>;
80
+ syncToModel?: boolean;
81
+ omitNil?: boolean;
82
+ dateFormatter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<(string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number)>;
83
+ onInit?: ((values: DataType, form: _$_antdv_vue_pro_form0.ProFormInstance<DataType>) => void) | undefined;
84
+ params?: Params | undefined;
85
+ request?: _$_antdv_vue_pro_utils0.ProRequestData<DataType, Params> | undefined;
86
+ isKeyPressSubmit?: boolean;
87
+ formKey?: string | number;
88
+ autoFocusFirstInput?: boolean;
89
+ readonly?: boolean;
90
+ } & {
91
+ onReset?: ((vaules?: DataType | undefined) => void) | undefined;
92
+ } & Omit<_$_antdv_vue_pro_form_dist_layouts_QueryFilter_Actions0.ActionsProps, "submitter" | "setCollapsed" | "isForm"> & {
93
+ defaultCollapsed?: boolean;
94
+ layout?: _$antdv_next0.FormProps["layout"];
95
+ defaultColsNumber?: number;
96
+ defaultFormItemsNumber?: number;
97
+ labelWidth?: number | "auto";
98
+ split?: boolean;
99
+ span?: _$_antdv_vue_pro_form_dist_layouts_QueryFilter_index0.SpanConfig;
100
+ searchText?: string;
101
+ resetText?: string;
102
+ searchGutter?: _$antdv_next0.RowProps["gutter"];
103
+ optionRender?: _$_antdv_vue_pro_form_dist_RenderTypings0.OptionRender;
104
+ ignoreRules?: boolean;
105
+ showHiddenNum?: boolean;
106
+ submitterColSpanProps?: Omit<_$antdv_next0.ColProps, "span"> & {
107
+ span?: number;
108
+ class?: string;
109
+ style?: _$vue.CSSProperties;
110
+ };
111
+ containerStyle?: _$vue.CSSProperties;
112
+ } & {
113
+ onReset?: ((values?: DataType | undefined) => void) | undefined;
114
+ }, "form"> | undefined;
115
+ dateFormatter?: (string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number) | false;
116
+ beforeSearchSubmit?: ((params: Partial<Params>) => any) | undefined;
117
+ tableAlertRender?: TableAlertRender<DataType> | undefined;
118
+ tableAlertOptionRender?: TableAlertRender<DataType> | undefined;
119
+ rowSelection?: false | (_$antdv_next0.TableRowSelection<DataType> & {
120
+ alwaysShowAlert?: boolean;
121
+ }) | undefined;
122
+ type?: _$_antdv_vue_pro_utils0.ProSchemaComponentTypes;
123
+ onSubmit?: ((params?: Params | undefined) => void) | undefined;
124
+ onReset?: ((params?: Params | undefined) => void) | undefined;
125
+ columnEmptyText?: _$_antdv_vue_pro_field0.ProFieldEmptyText;
126
+ manualRequest?: boolean;
127
+ editable?: _$_antdv_vue_pro_utils0.RowEditableConfig<DataType> | undefined;
128
+ onDataSourceChange?: ((dataSource: DataType[]) => void) | undefined;
129
+ cardBordered?: Bordered;
130
+ debounceTime?: number;
131
+ revalidateOnFocus?: boolean;
132
+ defaultSize?: DensitySize;
133
+ name?: _$antdv_next_dist_form_types0.NamePath<string | number | boolean>;
134
+ errorBoundaryRender?: ErrorBoundaryRender;
135
+ } & Omit<_$antdv_next0.TableProps<DataType>, "size" | "columns" | "rowSelection" | "dataSource"> & {} & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps) => _$vue.CreateComponentPublicInstanceWithMixins<{
136
+ dataSource?: DataType[] | undefined;
137
+ size?: DensitySize;
138
+ columns?: ProColumns<DataType, ValueType>[] | undefined;
139
+ toolbar?: BaseToolbarProps;
140
+ ghost?: boolean;
141
+ params?: Params | undefined;
142
+ columnsState?: ColumnStateType;
143
+ onSizeChange?: (size: DensitySize) => void;
144
+ cardProps?: _$_antdv_vue_pro_card0.ProCardProps | false;
145
+ tableRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1, domList: {
146
+ toolbar: VueNode$1;
147
+ alert: VueNode$1;
148
+ table: VueNode$1;
149
+ }) => VueNode$1) | undefined;
150
+ tableViewRender?: ((props: _$antdv_next0.TableProps<DataType> & {
151
+ class?: string;
152
+ style?: _$vue.CSSProperties;
153
+ onChange?: ((changePagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
154
+ }, defaultDom: VueNode$1) => VueNode$1) | undefined;
155
+ tableExtraRender?: ((props: ProTableProps<DataType, Params, ValueType>, dataSource: DataType[]) => VueNode$1) | undefined;
156
+ onChange?: ((pagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
157
+ searchFormRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1) => _$vue.VNode) | undefined;
158
+ request?: ((params: Params & {
159
+ pageSize?: number;
160
+ current?: number;
161
+ keyword?: string;
162
+ }, sort: Record<string, _$antdv_next0.TableSortOrder>, filter: Record<string, FilterValue>) => Promise<Partial<RequestData<DataType>>>) | undefined;
163
+ postData?: ((dataSource: DataType[]) => DataType[]) | undefined;
164
+ defaultData?: DataType[] | undefined;
165
+ toolBarRender?: _$_antdv_vue_pro_utils0.WithFalse<ToolBarRender<DataType> | undefined>;
166
+ optionsRender?: OptionsRender<DataType, ValueType> | undefined;
167
+ onLoad?: ((dataSource: DataType[]) => void) | undefined;
168
+ onLoadingChange?: (loading: boolean | _$antdv_next0.SpinProps | undefined) => void;
169
+ onRequestError?: (e: Error) => void;
170
+ polling?: number | ((dataSource: DataType[]) => number) | undefined;
171
+ tableClass?: string;
172
+ tableStyle?: _$vue.CSSProperties;
173
+ headerTitle?: VueNode$1;
174
+ tooltip?: string | _$antdv_next_dist_form_FormItemLabel0.FormItemTooltipType;
175
+ options?: _$_antdv_vue_pro_utils0.WithFalse<OptionConfig<DataType, ValueType>> | undefined;
176
+ search?: _$_antdv_vue_pro_utils0.WithFalse<SearchConfig>;
177
+ form?: Omit<Omit<_$antdv_next0.FormProps, "onReset" | "onFinish"> & _$_antdv_vue_pro_form_dist_typing0.ProFormGridConfig & {
178
+ submitter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<_$_antdv_vue_pro_form0.SubmitterProps<{
179
+ form?: _$antdv_next0.FormInstance;
180
+ }>>;
181
+ onFinish?: ((formData: DataType) => Promise<boolean | void> | void) | undefined;
182
+ loading?: boolean;
183
+ onLoadingChange?: (loading: boolean) => void;
184
+ formRef?: _$vue.ShallowRef<_$_antdv_vue_pro_form0.ProFormRef<DataType> | null> | undefined;
185
+ syncToUrl?: boolean | ((values: DataType & Record<string, any>, type: "get" | "set") => DataType) | undefined;
186
+ syncToUrlAsImportant?: boolean;
187
+ extraUrlParams?: Record<string, any>;
188
+ syncToModel?: boolean;
189
+ omitNil?: boolean;
190
+ dateFormatter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<(string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number)>;
191
+ onInit?: ((values: DataType, form: _$_antdv_vue_pro_form0.ProFormInstance<DataType>) => void) | undefined;
192
+ params?: Params | undefined;
193
+ request?: _$_antdv_vue_pro_utils0.ProRequestData<DataType, Params> | undefined;
194
+ isKeyPressSubmit?: boolean;
195
+ formKey?: string | number;
196
+ autoFocusFirstInput?: boolean;
197
+ readonly?: boolean;
198
+ } & {
199
+ onReset?: ((vaules?: DataType | undefined) => void) | undefined;
200
+ } & Omit<_$_antdv_vue_pro_form_dist_layouts_QueryFilter_Actions0.ActionsProps, "submitter" | "setCollapsed" | "isForm"> & {
201
+ defaultCollapsed?: boolean;
202
+ layout?: _$antdv_next0.FormProps["layout"];
203
+ defaultColsNumber?: number;
204
+ defaultFormItemsNumber?: number;
205
+ labelWidth?: number | "auto";
206
+ split?: boolean;
207
+ span?: _$_antdv_vue_pro_form_dist_layouts_QueryFilter_index0.SpanConfig;
208
+ searchText?: string;
209
+ resetText?: string;
210
+ searchGutter?: _$antdv_next0.RowProps["gutter"];
211
+ optionRender?: _$_antdv_vue_pro_form_dist_RenderTypings0.OptionRender;
212
+ ignoreRules?: boolean;
213
+ showHiddenNum?: boolean;
214
+ submitterColSpanProps?: Omit<_$antdv_next0.ColProps, "span"> & {
215
+ span?: number;
216
+ class?: string;
217
+ style?: _$vue.CSSProperties;
218
+ };
219
+ containerStyle?: _$vue.CSSProperties;
220
+ } & {
221
+ onReset?: ((values?: DataType | undefined) => void) | undefined;
222
+ }, "form"> | undefined;
223
+ dateFormatter?: (string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number) | false;
224
+ beforeSearchSubmit?: ((params: Partial<Params>) => any) | undefined;
225
+ tableAlertRender?: TableAlertRender<DataType> | undefined;
226
+ tableAlertOptionRender?: TableAlertRender<DataType> | undefined;
227
+ rowSelection?: false | (_$antdv_next0.TableRowSelection<DataType> & {
228
+ alwaysShowAlert?: boolean;
229
+ }) | undefined;
230
+ type?: _$_antdv_vue_pro_utils0.ProSchemaComponentTypes;
231
+ onSubmit?: ((params?: Params | undefined) => void) | undefined;
232
+ onReset?: ((params?: Params | undefined) => void) | undefined;
233
+ columnEmptyText?: _$_antdv_vue_pro_field0.ProFieldEmptyText;
234
+ manualRequest?: boolean;
235
+ editable?: _$_antdv_vue_pro_utils0.RowEditableConfig<DataType> | undefined;
236
+ onDataSourceChange?: ((dataSource: DataType[]) => void) | undefined;
237
+ cardBordered?: Bordered;
238
+ debounceTime?: number;
239
+ revalidateOnFocus?: boolean;
240
+ defaultSize?: DensitySize;
241
+ name?: _$antdv_next_dist_form_types0.NamePath<string | number | boolean>;
242
+ errorBoundaryRender?: ErrorBoundaryRender;
243
+ } & Omit<_$antdv_next0.TableProps<DataType>, "size" | "columns" | "rowSelection" | "dataSource"> & {}, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, _$vue.PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, _$vue.ComponentProvideOptions, {
244
+ P: {};
245
+ B: {};
246
+ D: {};
247
+ C: {};
248
+ M: {};
249
+ Defaults: {};
250
+ }, {
251
+ dataSource?: DataType[] | undefined;
252
+ size?: DensitySize;
253
+ columns?: ProColumns<DataType, ValueType>[] | undefined;
254
+ toolbar?: BaseToolbarProps;
255
+ ghost?: boolean;
256
+ params?: Params | undefined;
257
+ columnsState?: ColumnStateType;
258
+ onSizeChange?: (size: DensitySize) => void;
259
+ cardProps?: _$_antdv_vue_pro_card0.ProCardProps | false;
260
+ tableRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1, domList: {
261
+ toolbar: VueNode$1;
262
+ alert: VueNode$1;
263
+ table: VueNode$1;
264
+ }) => VueNode$1) | undefined;
265
+ tableViewRender?: ((props: _$antdv_next0.TableProps<DataType> & {
266
+ class?: string;
267
+ style?: _$vue.CSSProperties;
268
+ onChange?: ((changePagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
269
+ }, defaultDom: VueNode$1) => VueNode$1) | undefined;
270
+ tableExtraRender?: ((props: ProTableProps<DataType, Params, ValueType>, dataSource: DataType[]) => VueNode$1) | undefined;
271
+ onChange?: ((pagination: _$antdv_next0.TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: _$antdv_next0.TableSorterResult<DataType> | _$antdv_next0.TableSorterResult<DataType>[], extra: _$antdv_next_dist_table_interface0.TableCurrentDataSource<DataType>) => void) | undefined;
272
+ searchFormRender?: ((props: ProTableProps<DataType, Params, ValueType>, defaultDom: VueNode$1) => _$vue.VNode) | undefined;
273
+ request?: ((params: Params & {
274
+ pageSize?: number;
275
+ current?: number;
276
+ keyword?: string;
277
+ }, sort: Record<string, _$antdv_next0.TableSortOrder>, filter: Record<string, FilterValue>) => Promise<Partial<RequestData<DataType>>>) | undefined;
278
+ postData?: ((dataSource: DataType[]) => DataType[]) | undefined;
279
+ defaultData?: DataType[] | undefined;
280
+ toolBarRender?: _$_antdv_vue_pro_utils0.WithFalse<ToolBarRender<DataType> | undefined>;
281
+ optionsRender?: OptionsRender<DataType, ValueType> | undefined;
282
+ onLoad?: ((dataSource: DataType[]) => void) | undefined;
283
+ onLoadingChange?: (loading: boolean | _$antdv_next0.SpinProps | undefined) => void;
284
+ onRequestError?: (e: Error) => void;
285
+ polling?: number | ((dataSource: DataType[]) => number) | undefined;
286
+ tableClass?: string;
287
+ tableStyle?: _$vue.CSSProperties;
288
+ headerTitle?: VueNode$1;
289
+ tooltip?: string | _$antdv_next_dist_form_FormItemLabel0.FormItemTooltipType;
290
+ options?: _$_antdv_vue_pro_utils0.WithFalse<OptionConfig<DataType, ValueType>> | undefined;
291
+ search?: _$_antdv_vue_pro_utils0.WithFalse<SearchConfig>;
292
+ form?: Omit<Omit<_$antdv_next0.FormProps, "onReset" | "onFinish"> & _$_antdv_vue_pro_form_dist_typing0.ProFormGridConfig & {
293
+ submitter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<_$_antdv_vue_pro_form0.SubmitterProps<{
294
+ form?: _$antdv_next0.FormInstance;
295
+ }>>;
296
+ onFinish?: ((formData: DataType) => Promise<boolean | void> | void) | undefined;
297
+ loading?: boolean;
298
+ onLoadingChange?: (loading: boolean) => void;
299
+ formRef?: _$vue.ShallowRef<_$_antdv_vue_pro_form0.ProFormRef<DataType> | null> | undefined;
300
+ syncToUrl?: boolean | ((values: DataType & Record<string, any>, type: "get" | "set") => DataType) | undefined;
301
+ syncToUrlAsImportant?: boolean;
302
+ extraUrlParams?: Record<string, any>;
303
+ syncToModel?: boolean;
304
+ omitNil?: boolean;
305
+ dateFormatter?: _$_antdv_vue_pro_form_dist_typing0.WithFalse<(string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number)>;
306
+ onInit?: ((values: DataType, form: _$_antdv_vue_pro_form0.ProFormInstance<DataType>) => void) | undefined;
307
+ params?: Params | undefined;
308
+ request?: _$_antdv_vue_pro_utils0.ProRequestData<DataType, Params> | undefined;
309
+ isKeyPressSubmit?: boolean;
310
+ formKey?: string | number;
311
+ autoFocusFirstInput?: boolean;
312
+ readonly?: boolean;
313
+ } & {
314
+ onReset?: ((vaules?: DataType | undefined) => void) | undefined;
315
+ } & Omit<_$_antdv_vue_pro_form_dist_layouts_QueryFilter_Actions0.ActionsProps, "submitter" | "setCollapsed" | "isForm"> & {
316
+ defaultCollapsed?: boolean;
317
+ layout?: _$antdv_next0.FormProps["layout"];
318
+ defaultColsNumber?: number;
319
+ defaultFormItemsNumber?: number;
320
+ labelWidth?: number | "auto";
321
+ split?: boolean;
322
+ span?: _$_antdv_vue_pro_form_dist_layouts_QueryFilter_index0.SpanConfig;
323
+ searchText?: string;
324
+ resetText?: string;
325
+ searchGutter?: _$antdv_next0.RowProps["gutter"];
326
+ optionRender?: _$_antdv_vue_pro_form_dist_RenderTypings0.OptionRender;
327
+ ignoreRules?: boolean;
328
+ showHiddenNum?: boolean;
329
+ submitterColSpanProps?: Omit<_$antdv_next0.ColProps, "span"> & {
330
+ span?: number;
331
+ class?: string;
332
+ style?: _$vue.CSSProperties;
333
+ };
334
+ containerStyle?: _$vue.CSSProperties;
335
+ } & {
336
+ onReset?: ((values?: DataType | undefined) => void) | undefined;
337
+ }, "form"> | undefined;
338
+ dateFormatter?: (string & {}) | "string" | "number" | ((value: _$dayjs.Dayjs, valueType: string) => string | number) | false;
339
+ beforeSearchSubmit?: ((params: Partial<Params>) => any) | undefined;
340
+ tableAlertRender?: TableAlertRender<DataType> | undefined;
341
+ tableAlertOptionRender?: TableAlertRender<DataType> | undefined;
342
+ rowSelection?: false | (_$antdv_next0.TableRowSelection<DataType> & {
343
+ alwaysShowAlert?: boolean;
344
+ }) | undefined;
345
+ type?: _$_antdv_vue_pro_utils0.ProSchemaComponentTypes;
346
+ onSubmit?: ((params?: Params | undefined) => void) | undefined;
347
+ onReset?: ((params?: Params | undefined) => void) | undefined;
348
+ columnEmptyText?: _$_antdv_vue_pro_field0.ProFieldEmptyText;
349
+ manualRequest?: boolean;
350
+ editable?: _$_antdv_vue_pro_utils0.RowEditableConfig<DataType> | undefined;
351
+ onDataSourceChange?: ((dataSource: DataType[]) => void) | undefined;
352
+ cardBordered?: Bordered;
353
+ debounceTime?: number;
354
+ revalidateOnFocus?: boolean;
355
+ defaultSize?: DensitySize;
356
+ name?: _$antdv_next_dist_form_types0.NamePath<string | number | boolean>;
357
+ errorBoundaryRender?: ErrorBoundaryRender;
358
+ } & Omit<_$antdv_next0.TableProps<DataType>, "size" | "columns" | "rowSelection" | "dataSource"> & {}, {}, {}, {}, {}, {}>;
359
+ declare const ProTable: typeof _ProTable & Plugin & {
360
+ Summary?: typeof TableSummary;
361
+ };
362
+ //#endregion
363
+ export { ProTable as default };
package/dist/Table.js ADDED
@@ -0,0 +1,151 @@
1
+ import { useProTableInstanceExpose } from "./utils/index.js";
2
+ import { useContainer, useTableContextProvider } from "./Store/Provide.js";
3
+ import InternalProTable from "./InternalTable.js";
4
+ import { Fragment, createVNode, defineComponent, mergeProps, shallowRef } from "vue";
5
+ import { ProConfigProvider, useProConfig } from "@antdv-vue/pro-provider";
6
+ import { ErrorBoundary, transformBooleanProps } from "@antdv-vue/pro-utils";
7
+ import { TableSummary } from "antdv-next";
8
+ import { ValueTypeToComponent } from "@antdv-vue/pro-field";
9
+ //#region src/Table.tsx
10
+ const ProTable = /* @__PURE__ */ defineComponent((props, { slots, expose, attrs }) => {
11
+ const proConfig = useProConfig();
12
+ const container = useContainer(props);
13
+ const tableRef = shallowRef(null);
14
+ const booleanProps = transformBooleanProps([
15
+ "manualRequest",
16
+ "showSorterTooltip",
17
+ "showHeader",
18
+ "rowHoverable",
19
+ "revalidateOnFocus",
20
+ "loading",
21
+ "virtual",
22
+ "sticky",
23
+ "tailor",
24
+ "bordered",
25
+ "cardBordered",
26
+ "ghost"
27
+ ], props);
28
+ useTableContextProvider(container);
29
+ expose(useProTableInstanceExpose(tableRef));
30
+ return () => {
31
+ const { errorBoundaryRender } = props;
32
+ const ErrorComponent = errorBoundaryRender === false ? Fragment : ErrorBoundary;
33
+ return createVNode(ProConfigProvider, {
34
+ "valueTypeMap": {
35
+ ...proConfig.value.valueTypeMap,
36
+ ...ValueTypeToComponent
37
+ },
38
+ "needDeps": true
39
+ }, { default: () => [createVNode(ErrorComponent, null, { default: () => [createVNode(InternalProTable, mergeProps({ "ref": tableRef }, attrs, props, booleanProps, {
40
+ "manualRequest": typeof props.manualRequest === "string" ? true : props.manualRequest,
41
+ "bordered": typeof props.bordered === "string" ? true : props.bordered,
42
+ "cardBordered": typeof props.cardBordered === "string" ? true : props.cardBordered,
43
+ "ghost": typeof props.ghost === "string" ? true : props.ghost
44
+ }), slots)] })] });
45
+ };
46
+ }, {
47
+ name: "ProTable",
48
+ inheritAttrs: false,
49
+ props: [
50
+ "tableAlertRender",
51
+ "tableAlertOptionRender",
52
+ "beforeSearchSubmit",
53
+ "columnEmptyText",
54
+ "editable",
55
+ "options",
56
+ "tooltip",
57
+ "search",
58
+ "headerTitle",
59
+ "tableStyle",
60
+ "toolBarRender",
61
+ "optionsRender",
62
+ "columnsState",
63
+ "onSizeChange",
64
+ "toolbar",
65
+ "bodyCell",
66
+ "bordered",
67
+ "caption",
68
+ "cardBordered",
69
+ "cardProps",
70
+ "childrenColumnName",
71
+ "classes",
72
+ "columns",
73
+ "components",
74
+ "dataSource",
75
+ "dateFormatter",
76
+ "debounceTime",
77
+ "defaultData",
78
+ "defaultExpandAllRows",
79
+ "defaultExpandedRowKeys",
80
+ "direction",
81
+ "dropdownPrefixCls",
82
+ "expandIcon",
83
+ "expandIconColumnIndex",
84
+ "expandRowByClick",
85
+ "expandable",
86
+ "expandedRowClassName",
87
+ "expandedRowKeys",
88
+ "expandedRowRender",
89
+ "footer",
90
+ "form",
91
+ "getContainerWidth",
92
+ "getPopupContainer",
93
+ "ghost",
94
+ "headerCell",
95
+ "id",
96
+ "indentSize",
97
+ "loading",
98
+ "locale",
99
+ "manualRequest",
100
+ "measureRowRender",
101
+ "name",
102
+ "onDataSourceChange",
103
+ "onExpand",
104
+ "onExpandedRowsChange",
105
+ "onHeaderRow",
106
+ "onLoad",
107
+ "onLoadingChange",
108
+ "onRequestError",
109
+ "onReset",
110
+ "onRow",
111
+ "onSubmit",
112
+ "pagination",
113
+ "params",
114
+ "polling",
115
+ "postData",
116
+ "prefixCls",
117
+ "request",
118
+ "revalidateOnFocus",
119
+ "rootClass",
120
+ "rowClassName",
121
+ "rowHoverable",
122
+ "rowKey",
123
+ "rowSelection",
124
+ "scroll",
125
+ "searchFormRender",
126
+ "showHeader",
127
+ "showSorterTooltip",
128
+ "size",
129
+ "sortDirections",
130
+ "sticky",
131
+ "styles",
132
+ "summary",
133
+ "tableClass",
134
+ "tableExtraRender",
135
+ "tableLayout",
136
+ "tableRender",
137
+ "tableViewRender",
138
+ "tailor",
139
+ "title",
140
+ "type",
141
+ "virtual"
142
+ ]
143
+ });
144
+ ProTable.Summary = TableSummary;
145
+ ProTable.install = (app) => {
146
+ app.component(ProTable.Summary.name, TableSummary);
147
+ app.component(ProTable.name, ProTable);
148
+ return app;
149
+ };
150
+ //#endregion
151
+ export { ProTable as default };