@spacego/fe-components 0.1.1 → 0.2.1
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/lib/_virtual/Resizable.js +4 -0
- package/lib/_virtual/ResizableBox.js +4 -0
- package/lib/_virtual/index.js +5 -0
- package/lib/_virtual/index2.js +4 -0
- package/lib/_virtual/index3.js +4 -0
- package/lib/_virtual/index4.js +4 -0
- package/lib/_virtual/propTypes.js +4 -0
- package/lib/_virtual/react-is.development.js +4 -0
- package/lib/_virtual/react-is.production.min.js +4 -0
- package/lib/_virtual/utils.js +4 -0
- package/lib/fe-auto-complete/index.js +6 -0
- package/lib/fe-button/index.js +27 -0
- package/lib/fe-cascader/index.js +19 -0
- package/lib/fe-checkbox/index.js +6 -0
- package/lib/fe-checkbox-group/index.js +6 -0
- package/lib/fe-date-picker/index.js +19 -0
- package/lib/fe-description-render/index.js +43 -0
- package/lib/fe-descriptions/index.js +6 -0
- package/lib/fe-empty/index.js +6 -0
- package/lib/fe-error-block/index.js +6 -0
- package/lib/fe-form/fe-form/index.js +133 -0
- package/lib/fe-form/fe-form-auto-complete/index.js +57 -0
- package/lib/fe-form/fe-form-btn-group/index.js +29 -0
- package/lib/fe-form/fe-form-cascader/index.js +25 -0
- package/lib/fe-form/fe-form-checkbox-group/index.js +21 -0
- package/lib/fe-form/fe-form-date-picker/index.js +75 -0
- package/lib/fe-form/fe-form-date-range-picker/index.js +99 -0
- package/lib/fe-form/fe-form-input/index.js +53 -0
- package/lib/fe-form/fe-form-input-input/index.js +63 -0
- package/lib/fe-form/fe-form-input-number/index.js +43 -0
- package/lib/fe-form/fe-form-item/index.js +46 -0
- package/lib/fe-form/fe-form-label/index.js +20 -0
- package/lib/fe-form/fe-form-radio/index.js +21 -0
- package/lib/fe-form/fe-form-render/index.js +33 -0
- package/lib/fe-form/fe-form-rich-text/index.js +25 -0
- package/lib/fe-form/fe-form-select/index.js +93 -0
- package/lib/fe-form/fe-form-switch/index.js +21 -0
- package/lib/fe-form/fe-form-text/index.js +20 -0
- package/lib/fe-form/fe-form-text-area/index.js +24 -0
- package/lib/fe-form/fe-form-time-picker/index.js +21 -0
- package/lib/fe-form/fe-form-upload/index.js +63 -0
- package/lib/fe-form/utils/index.js +28 -0
- package/lib/fe-input/index.js +32 -0
- package/lib/fe-input-number/index.js +19 -0
- package/lib/fe-layouts/auth-layout/index.js +35 -17
- package/lib/fe-layouts/basics-layout/index.js +2 -2
- package/lib/fe-layouts/layout.js +34 -16
- package/lib/fe-link/index.js +23 -0
- package/lib/fe-map/index.js +263 -0
- package/lib/fe-modal/index.js +85 -0
- package/lib/fe-pagination/index.js +6 -0
- package/lib/fe-panel/fe-panel-toolbar.js +40 -0
- package/lib/fe-panel/index.js +49 -0
- package/lib/fe-panel/use-panel-context.js +9 -0
- package/lib/fe-permission/index.js +12 -0
- package/lib/fe-permission-provider/index.js +29 -0
- package/lib/fe-radio/index.js +11 -0
- package/lib/fe-radio-group/index.js +6 -0
- package/lib/fe-rich-text/index.js +293 -0
- package/lib/fe-select/index.js +24 -0
- package/lib/fe-switch/index.js +6 -0
- package/lib/fe-table/fe-edit-table/index.js +39 -0
- package/lib/fe-table/fe-edit-table-cell/index.js +63 -0
- package/lib/fe-table/fe-head-title/index.js +9 -0
- package/lib/fe-table/fe-normal-table/index.js +192 -0
- package/lib/fe-table/fe-sub-table/index.js +74 -0
- package/lib/fe-table/fe-table/index.js +7 -0
- package/lib/fe-table/fe-table-alert/index.js +42 -0
- package/lib/fe-table/fe-table-link/index.js +87 -0
- package/lib/fe-table/fe-table-render/index.js +56 -0
- package/lib/fe-table/fe-table-setting/index.js +165 -0
- package/lib/fe-table/fe-table-toolbar/index.js +63 -0
- package/lib/fe-table/fe-table-utils/index.js +157 -0
- package/lib/fe-table/type/table.d.js +4 -0
- package/lib/fe-table/use-edit-table/index.js +151 -0
- package/lib/fe-table/use-pagination/index.js +59 -0
- package/lib/fe-table/use-sub-table/index.js +23 -0
- package/lib/fe-table/use-table/index.js +177 -0
- package/lib/fe-table/use-table-columns/index.js +53 -0
- package/lib/fe-table/use-table-form-context/index.js +14 -0
- package/lib/fe-table/use-table-selection/index.js +53 -0
- package/lib/fe-text-area/index.js +21 -0
- package/lib/fe-time-picker/index.js +19 -0
- package/lib/fe-upload/index.js +182 -0
- package/lib/fe-upload/upload.constant.js +91 -0
- package/lib/fe-upload-atomic/index.js +6 -0
- package/lib/fe-upload-crop/index.js +207 -0
- package/lib/hooks/{use-auth.hook.js → use-auth.hook/index.js} +3 -3
- package/lib/hooks/use-form/index.js +38 -0
- package/lib/hooks/use-permission.hook/index.js +9 -0
- package/lib/index.css +7 -1
- package/lib/index.js +161 -42
- package/lib/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@18.3.1/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +56 -0
- package/lib/node_modules/.pnpm/@dnd-kit_core@6.3.1_nnrd3gsncyragczmpvfhocinkq/node_modules/@dnd-kit/core/dist/core.esm.js +2344 -0
- package/lib/node_modules/.pnpm/@dnd-kit_modifiers@9.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +13 -0
- package/lib/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +439 -0
- package/lib/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@18.3.1/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +235 -0
- package/lib/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +54 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js +54 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js +52 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js +329 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +17 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
- package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js +7 -0
- package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +95 -0
- package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +78 -0
- package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +10 -0
- package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/Resizable.js +233 -0
- package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/ResizableBox.js +164 -0
- package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/propTypes.js +113 -0
- package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/utils.js +56 -0
- package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/index.js +12 -0
- package/lib/store/modules/layout-config.store.js +83 -65
- package/lib/store/modules/theme.store.js +36 -18
- package/lib/types/fe-auto-complete/index.d.ts +2 -0
- package/lib/types/fe-button/index.d.ts +16 -0
- package/lib/types/fe-cascader/index.d.ts +7 -0
- package/lib/types/fe-checkbox/index.d.ts +6 -0
- package/lib/types/fe-checkbox-group/index.d.ts +5 -0
- package/lib/types/fe-date-picker/index.d.ts +3 -0
- package/lib/types/fe-description-render/index.d.ts +31 -0
- package/lib/types/fe-descriptions/index.d.ts +2 -0
- package/lib/types/fe-empty/index.d.ts +2 -0
- package/lib/types/fe-error-block/index.d.ts +6 -0
- package/lib/types/fe-form/fe-form/index.d.ts +354 -0
- package/lib/types/fe-form/fe-form-auto-complete/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-btn-group/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-cascader/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-checkbox-group/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-date-picker/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-date-range-picker/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-input/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-input-input/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-input-number/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-item/index.d.ts +68 -0
- package/lib/types/fe-form/fe-form-label/index.d.ts +43 -0
- package/lib/types/fe-form/fe-form-radio/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-render/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-rich-text/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-select/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-switch/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-text/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-text-area/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-time-picker/index.d.ts +3 -0
- package/lib/types/fe-form/fe-form-upload/index.d.ts +3 -0
- package/lib/types/fe-form/index.d.ts +26 -0
- package/lib/types/fe-form/utils/index.d.ts +24 -0
- package/lib/types/fe-input/index.d.ts +12 -0
- package/lib/types/fe-input-number/index.d.ts +2 -0
- package/lib/types/fe-link/index.d.ts +6 -0
- package/lib/types/fe-map/index.d.ts +73 -0
- package/lib/types/fe-modal/index.d.ts +20 -0
- package/lib/types/fe-pagination/index.d.ts +2 -0
- package/lib/types/fe-panel/fe-panel-toolbar.d.ts +3 -0
- package/lib/types/fe-panel/index.d.ts +61 -0
- package/lib/types/fe-panel/panel-toolbar.d.ts +4 -0
- package/lib/types/fe-panel/use-panel-context.d.ts +6 -0
- package/lib/types/fe-permission/index.d.ts +10 -0
- package/lib/types/fe-permission-provider/index.d.ts +8 -0
- package/lib/types/fe-radio/index.d.ts +2 -0
- package/lib/types/fe-radio-group/index.d.ts +2 -0
- package/lib/types/fe-rich-text/index.d.ts +167 -0
- package/lib/types/fe-select/index.d.ts +8 -0
- package/lib/types/fe-switch/index.d.ts +2 -0
- package/lib/types/fe-table/fe-edit-table/index.d.ts +3 -0
- package/lib/types/fe-table/fe-edit-table-cell/index.d.ts +16 -0
- package/lib/types/fe-table/fe-head-title/index.d.ts +6 -0
- package/lib/types/fe-table/fe-normal-table/index.d.ts +3 -0
- package/lib/types/fe-table/fe-sub-table/index.d.ts +3 -0
- package/lib/types/fe-table/fe-table/index.d.ts +3 -0
- package/lib/types/fe-table/fe-table-alert/index.d.ts +13 -0
- package/lib/types/fe-table/fe-table-link/index.d.ts +10 -0
- package/lib/types/fe-table/fe-table-render/index.d.ts +11 -0
- package/lib/types/fe-table/fe-table-setting/index.d.ts +22 -0
- package/lib/types/fe-table/fe-table-toolbar/index.d.ts +16 -0
- package/lib/types/fe-table/fe-table-utils/index.d.ts +193 -0
- package/lib/types/fe-table/index.d.ts +6 -0
- package/lib/types/fe-table/type/table-context.d.ts +60 -0
- package/lib/types/fe-table/type/table.d.ts +795 -0
- package/lib/types/fe-table/use-edit-table/index.d.ts +6 -0
- package/lib/types/fe-table/use-pagination/index.d.ts +3 -0
- package/lib/types/fe-table/use-sub-table/index.d.ts +8 -0
- package/lib/types/fe-table/use-table/index.d.ts +3 -0
- package/lib/types/fe-table/use-table-columns/index.d.ts +47 -0
- package/lib/types/fe-table/use-table-form-context/index.d.ts +10 -0
- package/lib/types/fe-table/use-table-selection/index.d.ts +46 -0
- package/lib/types/fe-text-area/index.d.ts +4 -0
- package/lib/types/fe-time-picker/index.d.ts +3 -0
- package/lib/types/fe-upload/index.d.ts +85 -0
- package/lib/types/fe-upload/upload.constant.d.ts +39 -0
- package/lib/types/fe-upload-atomic/index.d.ts +2 -0
- package/lib/types/fe-upload-crop/index.d.ts +10 -0
- package/lib/types/hooks/index.d.ts +1 -0
- package/lib/types/hooks/use-descriptions/index.d.ts +3 -0
- package/lib/types/hooks/use-form/index.d.ts +14 -0
- package/lib/types/hooks/use-permission.hook/index.d.ts +10 -0
- package/lib/types/index.d.ts +32 -0
- package/lib/types/typings/index.d.ts +39 -0
- package/package.json +18 -8
- /package/lib/hooks/{use-nprogress.hook.js → use-nprogress.hook/index.js} +0 -0
- /package/lib/types/hooks/{use-auth.hook.d.ts → use-auth.hook/index.d.ts} +0 -0
- /package/lib/types/hooks/{use-nprogress.hook.d.ts → use-nprogress.hook/index.d.ts} +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { FormInstance } from 'antd';
|
|
2
|
+
import { ITableColumns, ITableParams } from '../type/table.d';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* 判断是否需要重新请求前一页数据
|
|
6
|
+
* @param record 当前数据记录
|
|
7
|
+
* @param pageNo 当前页码
|
|
8
|
+
* @returns 是否需要重新请求前一页
|
|
9
|
+
*/
|
|
10
|
+
export declare const shouldRequestPreviousPage: (record: any[], pageNo: number) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 渲染操作按钮
|
|
13
|
+
*/
|
|
14
|
+
export declare const renderActionButtons: <T extends Record<string, any>>(record: T, index: number, columnsHandleConfig: any[], btnPermissionList: string[] | undefined, modal: any) => import("react/jsx-runtime").JSX.Element | never[];
|
|
15
|
+
/**
|
|
16
|
+
* 创建单元格渲染器
|
|
17
|
+
*/
|
|
18
|
+
export declare const createCellRenderer: (column: ITableColumns<any>) => ((text: any, record: any, index: number) => React.ReactNode) | ((_: any, record: any) => import("react/jsx-runtime").JSX.Element);
|
|
19
|
+
/**
|
|
20
|
+
* 添加序号列
|
|
21
|
+
*/
|
|
22
|
+
export declare const addIndexColumn: (columns: ITableColumns<any>[], showIndex?: boolean, pageNo?: number, pageSize?: number) => ITableColumns<any>[];
|
|
23
|
+
/**
|
|
24
|
+
* 添加操作列并处理所有列的渲染函数
|
|
25
|
+
*/
|
|
26
|
+
export declare const processTableColumns: (columns: ITableColumns<any>[], columnsHandleConfig: any[] | undefined, btnPermissionList: string[] | undefined, columnsHandleAttr: ITableParams<any>["columnsHandleAttr"], modal: any) => {
|
|
27
|
+
render: ((text: any, record: any, index: number) => React.ReactNode) | ((_: any, record: any) => import("react/jsx-runtime").JSX.Element);
|
|
28
|
+
dataIndex: string | number | symbol;
|
|
29
|
+
key?: React.Key;
|
|
30
|
+
title: string | React.ReactNode;
|
|
31
|
+
titleRender?: React.ReactNode;
|
|
32
|
+
showHint?: boolean;
|
|
33
|
+
hintText?: string | React.ReactNode;
|
|
34
|
+
ellipsis?: boolean | {
|
|
35
|
+
showTitle: boolean;
|
|
36
|
+
};
|
|
37
|
+
align?: "left" | "center" | "right";
|
|
38
|
+
fixed?: false | "left" | "right";
|
|
39
|
+
width?: number;
|
|
40
|
+
dataType?: "string" | "integer" | "double" | "dict";
|
|
41
|
+
renderType?: import('../type/table.d').TRenderType;
|
|
42
|
+
renderParams?: {
|
|
43
|
+
tooltip: boolean;
|
|
44
|
+
ellipsis: boolean;
|
|
45
|
+
maxLines?: number;
|
|
46
|
+
};
|
|
47
|
+
defaultRenderParams?: {
|
|
48
|
+
filter?: any;
|
|
49
|
+
dictfilterParams?: {
|
|
50
|
+
dictList: Array<{
|
|
51
|
+
dataIndex: string;
|
|
52
|
+
label: string;
|
|
53
|
+
}>;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
tagRenderParams?: {
|
|
57
|
+
filter?: any;
|
|
58
|
+
dictfilterParams?: {
|
|
59
|
+
dictList: Array<{
|
|
60
|
+
dataIndex: string;
|
|
61
|
+
label: string;
|
|
62
|
+
}>;
|
|
63
|
+
};
|
|
64
|
+
separator?: string;
|
|
65
|
+
themeEnums?: Record<string, "processing" | "success" | "error" | "default" | "warning">;
|
|
66
|
+
};
|
|
67
|
+
editRenderParams?: import('../type/table.d').IEditRenderParams;
|
|
68
|
+
thousandsParams?: {
|
|
69
|
+
precision?: number;
|
|
70
|
+
fillZero?: boolean;
|
|
71
|
+
separator?: string;
|
|
72
|
+
};
|
|
73
|
+
hideInSetting?: boolean;
|
|
74
|
+
}[];
|
|
75
|
+
/**
|
|
76
|
+
* 应用列样式
|
|
77
|
+
*/
|
|
78
|
+
export declare const applyColumnStyles: (columns: ITableColumns<any>[]) => {
|
|
79
|
+
ellipsis: boolean | {
|
|
80
|
+
showTitle: boolean;
|
|
81
|
+
};
|
|
82
|
+
align: "center" | "left" | "right";
|
|
83
|
+
dataIndex: string | number | symbol;
|
|
84
|
+
key?: React.Key;
|
|
85
|
+
title: string | React.ReactNode;
|
|
86
|
+
titleRender?: React.ReactNode;
|
|
87
|
+
showHint?: boolean;
|
|
88
|
+
hintText?: string | React.ReactNode;
|
|
89
|
+
render?: (text: any, record: any, index: number) => React.ReactNode;
|
|
90
|
+
fixed?: false | "left" | "right";
|
|
91
|
+
width?: number;
|
|
92
|
+
dataType?: "string" | "integer" | "double" | "dict";
|
|
93
|
+
renderType?: import('../type/table.d').TRenderType;
|
|
94
|
+
renderParams?: {
|
|
95
|
+
tooltip: boolean;
|
|
96
|
+
ellipsis: boolean;
|
|
97
|
+
maxLines?: number;
|
|
98
|
+
};
|
|
99
|
+
defaultRenderParams?: {
|
|
100
|
+
filter?: any;
|
|
101
|
+
dictfilterParams?: {
|
|
102
|
+
dictList: Array<{
|
|
103
|
+
dataIndex: string;
|
|
104
|
+
label: string;
|
|
105
|
+
}>;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
tagRenderParams?: {
|
|
109
|
+
filter?: any;
|
|
110
|
+
dictfilterParams?: {
|
|
111
|
+
dictList: Array<{
|
|
112
|
+
dataIndex: string;
|
|
113
|
+
label: string;
|
|
114
|
+
}>;
|
|
115
|
+
};
|
|
116
|
+
separator?: string;
|
|
117
|
+
themeEnums?: Record<string, "processing" | "success" | "error" | "default" | "warning">;
|
|
118
|
+
};
|
|
119
|
+
editRenderParams?: import('../type/table.d').IEditRenderParams;
|
|
120
|
+
thousandsParams?: {
|
|
121
|
+
precision?: number;
|
|
122
|
+
fillZero?: boolean;
|
|
123
|
+
separator?: string;
|
|
124
|
+
};
|
|
125
|
+
hideInSetting?: boolean;
|
|
126
|
+
}[];
|
|
127
|
+
/**
|
|
128
|
+
* 解析表单数据,将带行ID后缀的字段名转换为按行分组的数据
|
|
129
|
+
* @param formData 原始表单数据 (如 {name_1: 'John', age_1: 25, name_2: 'Jane'})
|
|
130
|
+
* @param rowKey 行标识字段名
|
|
131
|
+
* @returns 按行分组的数据 (如 {'1': {name: 'John', age: 25}, '2': {name: 'Jane'}})
|
|
132
|
+
*/
|
|
133
|
+
export declare const parseTableFormData: (formData: Record<string, any>, rowKey?: string) => Record<string, any>;
|
|
134
|
+
/**
|
|
135
|
+
* 从当前行数据中提取行ID
|
|
136
|
+
* @param record 当前行记录
|
|
137
|
+
* @param rowKey 行标识字段名
|
|
138
|
+
* @returns 行ID
|
|
139
|
+
*/
|
|
140
|
+
export declare const getRowIdFromRecord: (record: any, rowKey?: string) => string;
|
|
141
|
+
/**
|
|
142
|
+
* 根据字段名和行ID构建表单字段名
|
|
143
|
+
* @param fieldName 字段名
|
|
144
|
+
* @param rowId 行ID
|
|
145
|
+
* @returns 表单字段名 (如 'name_1')
|
|
146
|
+
*/
|
|
147
|
+
export declare const buildFormFieldName: (fieldName: string, rowId: string) => string;
|
|
148
|
+
/**
|
|
149
|
+
* 处理表格校验规则,注入表格上下文
|
|
150
|
+
* @param rules 原始校验规则数组
|
|
151
|
+
* @param record 当前行记录
|
|
152
|
+
* @param rowKey 行标识字段名
|
|
153
|
+
* @param formInstance 表单实例
|
|
154
|
+
* @returns 处理后的校验规则数组
|
|
155
|
+
*/
|
|
156
|
+
export declare const processTableRules: (rules: any[] | undefined, record: any, rowKey: string, formInstance: any) => any[];
|
|
157
|
+
/**
|
|
158
|
+
* 表格上下文类型定义
|
|
159
|
+
*/
|
|
160
|
+
export interface TableContext {
|
|
161
|
+
/** 当前行记录(包含最新表单数据) */
|
|
162
|
+
currentRecord: Record<string, any>;
|
|
163
|
+
/** 所有表格行数据 */
|
|
164
|
+
allTableData: Record<string, any>;
|
|
165
|
+
/** 表单实例 */
|
|
166
|
+
form: FormInstance;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* 创建表格校验上下文
|
|
170
|
+
* @param record 当前行记录
|
|
171
|
+
* @param rowKey 行标识字段名
|
|
172
|
+
* @param formInstance 表单实例
|
|
173
|
+
* @returns 表格校验上下文对象
|
|
174
|
+
*/
|
|
175
|
+
export declare const createTableContext: (record: any, rowKey: string, formInstance: any) => TableContext;
|
|
176
|
+
/**
|
|
177
|
+
* 处理对象中的事件处理器,注入表格上下文
|
|
178
|
+
* @param obj 包含事件处理器的对象
|
|
179
|
+
* @param record 当前行记录
|
|
180
|
+
* @param rowKey 行标识字段名
|
|
181
|
+
* @param formInstance 表单实例
|
|
182
|
+
* @returns 处理后的对象
|
|
183
|
+
*/
|
|
184
|
+
export declare const processEventHandlers: (obj: Record<string, any> | undefined, record: any, rowKey: string, formInstance: any) => Record<string, any>;
|
|
185
|
+
/**
|
|
186
|
+
* 深度处理表单属性中所有 *Attributes 对象的事件处理器
|
|
187
|
+
* @param formProps 表单属性配置
|
|
188
|
+
* @param record 当前行记录
|
|
189
|
+
* @param rowKey 行标识字段名
|
|
190
|
+
* @param formInstance 表单实例
|
|
191
|
+
* @returns 处理后的表单属性配置
|
|
192
|
+
*/
|
|
193
|
+
export declare const enhanceFormPropsWithContext: (formProps: any, record: any, rowKey: string, formInstance: any) => any;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as FeTable } from './fe-table';
|
|
2
|
+
export { shouldRequestPreviousPage } from './fe-table-utils';
|
|
3
|
+
export * from './type/table.d';
|
|
4
|
+
export * from './type/table-context.d';
|
|
5
|
+
export { default as UseEditTable } from './use-edit-table';
|
|
6
|
+
export { default as UseTable } from './use-table';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 可编辑表格上下文类型定义
|
|
3
|
+
*/
|
|
4
|
+
export interface TableContext {
|
|
5
|
+
/**
|
|
6
|
+
* 当前行记录(包含最新表单数据)
|
|
7
|
+
* 注意:这里的字段值是已经从表单中获取的最新值
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
currentRecord: Record<string, any>;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 所有表格行数据
|
|
14
|
+
* 格式: { rowId: rowData }
|
|
15
|
+
* 例如: { '1': { id: 1, name: '张三' }, '2': { id: 2, name: '李四' } }
|
|
16
|
+
*/
|
|
17
|
+
allTableData: Record<string, Record<string, any>>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Ant Design Form 表单实例
|
|
21
|
+
* 可以使用所有表单方法,如:
|
|
22
|
+
* - getFieldValue(name)
|
|
23
|
+
* - setFieldValue(name, value)
|
|
24
|
+
* - getFieldsValue()
|
|
25
|
+
* - setFieldsValue(values)
|
|
26
|
+
* - validateFields()
|
|
27
|
+
*/
|
|
28
|
+
form: any;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 带表格上下文的事件处理器类型
|
|
33
|
+
* 用于为事件处理器提供类型提示
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import type { TableEventHandler } from '@orchid/fe-table';
|
|
38
|
+
*
|
|
39
|
+
* const handleBlur: TableEventHandler<[React.FocusEvent]> = (event, tableContext) => {
|
|
40
|
+
* const { currentRecord, form } = tableContext;
|
|
41
|
+
* // ...
|
|
42
|
+
* };
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export type TableEventHandler<T extends any[] = any[]> = (...args: [...T, TableContext]) => void | Promise<void>;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 表格值变更事件处理器
|
|
49
|
+
*/
|
|
50
|
+
export type TableValueChangeHandler = TableEventHandler<[any]>;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 表格点击事件处理器
|
|
54
|
+
*/
|
|
55
|
+
export type TableClickHandler = TableEventHandler<[React.MouseEvent]>;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* 表格焦点事件处理器
|
|
59
|
+
*/
|
|
60
|
+
export type TableFocusHandler = TableEventHandler<[React.FocusEvent]>;
|