@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.
Files changed (202) hide show
  1. package/lib/_virtual/Resizable.js +4 -0
  2. package/lib/_virtual/ResizableBox.js +4 -0
  3. package/lib/_virtual/index.js +5 -0
  4. package/lib/_virtual/index2.js +4 -0
  5. package/lib/_virtual/index3.js +4 -0
  6. package/lib/_virtual/index4.js +4 -0
  7. package/lib/_virtual/propTypes.js +4 -0
  8. package/lib/_virtual/react-is.development.js +4 -0
  9. package/lib/_virtual/react-is.production.min.js +4 -0
  10. package/lib/_virtual/utils.js +4 -0
  11. package/lib/fe-auto-complete/index.js +6 -0
  12. package/lib/fe-button/index.js +27 -0
  13. package/lib/fe-cascader/index.js +19 -0
  14. package/lib/fe-checkbox/index.js +6 -0
  15. package/lib/fe-checkbox-group/index.js +6 -0
  16. package/lib/fe-date-picker/index.js +19 -0
  17. package/lib/fe-description-render/index.js +43 -0
  18. package/lib/fe-descriptions/index.js +6 -0
  19. package/lib/fe-empty/index.js +6 -0
  20. package/lib/fe-error-block/index.js +6 -0
  21. package/lib/fe-form/fe-form/index.js +133 -0
  22. package/lib/fe-form/fe-form-auto-complete/index.js +57 -0
  23. package/lib/fe-form/fe-form-btn-group/index.js +29 -0
  24. package/lib/fe-form/fe-form-cascader/index.js +25 -0
  25. package/lib/fe-form/fe-form-checkbox-group/index.js +21 -0
  26. package/lib/fe-form/fe-form-date-picker/index.js +75 -0
  27. package/lib/fe-form/fe-form-date-range-picker/index.js +99 -0
  28. package/lib/fe-form/fe-form-input/index.js +53 -0
  29. package/lib/fe-form/fe-form-input-input/index.js +63 -0
  30. package/lib/fe-form/fe-form-input-number/index.js +43 -0
  31. package/lib/fe-form/fe-form-item/index.js +46 -0
  32. package/lib/fe-form/fe-form-label/index.js +20 -0
  33. package/lib/fe-form/fe-form-radio/index.js +21 -0
  34. package/lib/fe-form/fe-form-render/index.js +33 -0
  35. package/lib/fe-form/fe-form-rich-text/index.js +25 -0
  36. package/lib/fe-form/fe-form-select/index.js +93 -0
  37. package/lib/fe-form/fe-form-switch/index.js +21 -0
  38. package/lib/fe-form/fe-form-text/index.js +20 -0
  39. package/lib/fe-form/fe-form-text-area/index.js +24 -0
  40. package/lib/fe-form/fe-form-time-picker/index.js +21 -0
  41. package/lib/fe-form/fe-form-upload/index.js +63 -0
  42. package/lib/fe-form/utils/index.js +28 -0
  43. package/lib/fe-input/index.js +32 -0
  44. package/lib/fe-input-number/index.js +19 -0
  45. package/lib/fe-layouts/auth-layout/index.js +35 -17
  46. package/lib/fe-layouts/basics-layout/index.js +2 -2
  47. package/lib/fe-layouts/layout.js +34 -16
  48. package/lib/fe-link/index.js +23 -0
  49. package/lib/fe-map/index.js +263 -0
  50. package/lib/fe-modal/index.js +85 -0
  51. package/lib/fe-pagination/index.js +6 -0
  52. package/lib/fe-panel/fe-panel-toolbar.js +40 -0
  53. package/lib/fe-panel/index.js +49 -0
  54. package/lib/fe-panel/use-panel-context.js +9 -0
  55. package/lib/fe-permission/index.js +12 -0
  56. package/lib/fe-permission-provider/index.js +29 -0
  57. package/lib/fe-radio/index.js +11 -0
  58. package/lib/fe-radio-group/index.js +6 -0
  59. package/lib/fe-rich-text/index.js +293 -0
  60. package/lib/fe-select/index.js +24 -0
  61. package/lib/fe-switch/index.js +6 -0
  62. package/lib/fe-table/fe-edit-table/index.js +39 -0
  63. package/lib/fe-table/fe-edit-table-cell/index.js +63 -0
  64. package/lib/fe-table/fe-head-title/index.js +9 -0
  65. package/lib/fe-table/fe-normal-table/index.js +192 -0
  66. package/lib/fe-table/fe-sub-table/index.js +74 -0
  67. package/lib/fe-table/fe-table/index.js +7 -0
  68. package/lib/fe-table/fe-table-alert/index.js +42 -0
  69. package/lib/fe-table/fe-table-link/index.js +87 -0
  70. package/lib/fe-table/fe-table-render/index.js +56 -0
  71. package/lib/fe-table/fe-table-setting/index.js +165 -0
  72. package/lib/fe-table/fe-table-toolbar/index.js +63 -0
  73. package/lib/fe-table/fe-table-utils/index.js +157 -0
  74. package/lib/fe-table/type/table.d.js +4 -0
  75. package/lib/fe-table/use-edit-table/index.js +151 -0
  76. package/lib/fe-table/use-pagination/index.js +59 -0
  77. package/lib/fe-table/use-sub-table/index.js +23 -0
  78. package/lib/fe-table/use-table/index.js +177 -0
  79. package/lib/fe-table/use-table-columns/index.js +53 -0
  80. package/lib/fe-table/use-table-form-context/index.js +14 -0
  81. package/lib/fe-table/use-table-selection/index.js +53 -0
  82. package/lib/fe-text-area/index.js +21 -0
  83. package/lib/fe-time-picker/index.js +19 -0
  84. package/lib/fe-upload/index.js +182 -0
  85. package/lib/fe-upload/upload.constant.js +91 -0
  86. package/lib/fe-upload-atomic/index.js +6 -0
  87. package/lib/fe-upload-crop/index.js +207 -0
  88. package/lib/hooks/{use-auth.hook.js → use-auth.hook/index.js} +3 -3
  89. package/lib/hooks/use-form/index.js +38 -0
  90. package/lib/hooks/use-permission.hook/index.js +9 -0
  91. package/lib/index.css +7 -1
  92. package/lib/index.js +161 -42
  93. 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
  94. package/lib/node_modules/.pnpm/@dnd-kit_core@6.3.1_nnrd3gsncyragczmpvfhocinkq/node_modules/@dnd-kit/core/dist/core.esm.js +2344 -0
  95. package/lib/node_modules/.pnpm/@dnd-kit_modifiers@9.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +13 -0
  96. package/lib/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_55ztycxty3xzw7t4rzpvix55vq/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +439 -0
  97. 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
  98. package/lib/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +54 -0
  99. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js +54 -0
  100. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js +52 -0
  101. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js +329 -0
  102. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +17 -0
  103. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  104. package/lib/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js +7 -0
  105. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +95 -0
  106. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +78 -0
  107. package/lib/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +10 -0
  108. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/Resizable.js +233 -0
  109. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/ResizableBox.js +164 -0
  110. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/propTypes.js +113 -0
  111. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/build/utils.js +56 -0
  112. package/lib/node_modules/.pnpm/react-resizable@3.1.3_nnrd3gsncyragczmpvfhocinkq/node_modules/react-resizable/index.js +12 -0
  113. package/lib/store/modules/layout-config.store.js +83 -65
  114. package/lib/store/modules/theme.store.js +36 -18
  115. package/lib/types/fe-auto-complete/index.d.ts +2 -0
  116. package/lib/types/fe-button/index.d.ts +16 -0
  117. package/lib/types/fe-cascader/index.d.ts +7 -0
  118. package/lib/types/fe-checkbox/index.d.ts +6 -0
  119. package/lib/types/fe-checkbox-group/index.d.ts +5 -0
  120. package/lib/types/fe-date-picker/index.d.ts +3 -0
  121. package/lib/types/fe-description-render/index.d.ts +31 -0
  122. package/lib/types/fe-descriptions/index.d.ts +2 -0
  123. package/lib/types/fe-empty/index.d.ts +2 -0
  124. package/lib/types/fe-error-block/index.d.ts +6 -0
  125. package/lib/types/fe-form/fe-form/index.d.ts +354 -0
  126. package/lib/types/fe-form/fe-form-auto-complete/index.d.ts +3 -0
  127. package/lib/types/fe-form/fe-form-btn-group/index.d.ts +3 -0
  128. package/lib/types/fe-form/fe-form-cascader/index.d.ts +3 -0
  129. package/lib/types/fe-form/fe-form-checkbox-group/index.d.ts +3 -0
  130. package/lib/types/fe-form/fe-form-date-picker/index.d.ts +3 -0
  131. package/lib/types/fe-form/fe-form-date-range-picker/index.d.ts +3 -0
  132. package/lib/types/fe-form/fe-form-input/index.d.ts +3 -0
  133. package/lib/types/fe-form/fe-form-input-input/index.d.ts +3 -0
  134. package/lib/types/fe-form/fe-form-input-number/index.d.ts +3 -0
  135. package/lib/types/fe-form/fe-form-item/index.d.ts +68 -0
  136. package/lib/types/fe-form/fe-form-label/index.d.ts +43 -0
  137. package/lib/types/fe-form/fe-form-radio/index.d.ts +3 -0
  138. package/lib/types/fe-form/fe-form-render/index.d.ts +3 -0
  139. package/lib/types/fe-form/fe-form-rich-text/index.d.ts +3 -0
  140. package/lib/types/fe-form/fe-form-select/index.d.ts +3 -0
  141. package/lib/types/fe-form/fe-form-switch/index.d.ts +3 -0
  142. package/lib/types/fe-form/fe-form-text/index.d.ts +3 -0
  143. package/lib/types/fe-form/fe-form-text-area/index.d.ts +3 -0
  144. package/lib/types/fe-form/fe-form-time-picker/index.d.ts +3 -0
  145. package/lib/types/fe-form/fe-form-upload/index.d.ts +3 -0
  146. package/lib/types/fe-form/index.d.ts +26 -0
  147. package/lib/types/fe-form/utils/index.d.ts +24 -0
  148. package/lib/types/fe-input/index.d.ts +12 -0
  149. package/lib/types/fe-input-number/index.d.ts +2 -0
  150. package/lib/types/fe-link/index.d.ts +6 -0
  151. package/lib/types/fe-map/index.d.ts +73 -0
  152. package/lib/types/fe-modal/index.d.ts +20 -0
  153. package/lib/types/fe-pagination/index.d.ts +2 -0
  154. package/lib/types/fe-panel/fe-panel-toolbar.d.ts +3 -0
  155. package/lib/types/fe-panel/index.d.ts +61 -0
  156. package/lib/types/fe-panel/panel-toolbar.d.ts +4 -0
  157. package/lib/types/fe-panel/use-panel-context.d.ts +6 -0
  158. package/lib/types/fe-permission/index.d.ts +10 -0
  159. package/lib/types/fe-permission-provider/index.d.ts +8 -0
  160. package/lib/types/fe-radio/index.d.ts +2 -0
  161. package/lib/types/fe-radio-group/index.d.ts +2 -0
  162. package/lib/types/fe-rich-text/index.d.ts +167 -0
  163. package/lib/types/fe-select/index.d.ts +8 -0
  164. package/lib/types/fe-switch/index.d.ts +2 -0
  165. package/lib/types/fe-table/fe-edit-table/index.d.ts +3 -0
  166. package/lib/types/fe-table/fe-edit-table-cell/index.d.ts +16 -0
  167. package/lib/types/fe-table/fe-head-title/index.d.ts +6 -0
  168. package/lib/types/fe-table/fe-normal-table/index.d.ts +3 -0
  169. package/lib/types/fe-table/fe-sub-table/index.d.ts +3 -0
  170. package/lib/types/fe-table/fe-table/index.d.ts +3 -0
  171. package/lib/types/fe-table/fe-table-alert/index.d.ts +13 -0
  172. package/lib/types/fe-table/fe-table-link/index.d.ts +10 -0
  173. package/lib/types/fe-table/fe-table-render/index.d.ts +11 -0
  174. package/lib/types/fe-table/fe-table-setting/index.d.ts +22 -0
  175. package/lib/types/fe-table/fe-table-toolbar/index.d.ts +16 -0
  176. package/lib/types/fe-table/fe-table-utils/index.d.ts +193 -0
  177. package/lib/types/fe-table/index.d.ts +6 -0
  178. package/lib/types/fe-table/type/table-context.d.ts +60 -0
  179. package/lib/types/fe-table/type/table.d.ts +795 -0
  180. package/lib/types/fe-table/use-edit-table/index.d.ts +6 -0
  181. package/lib/types/fe-table/use-pagination/index.d.ts +3 -0
  182. package/lib/types/fe-table/use-sub-table/index.d.ts +8 -0
  183. package/lib/types/fe-table/use-table/index.d.ts +3 -0
  184. package/lib/types/fe-table/use-table-columns/index.d.ts +47 -0
  185. package/lib/types/fe-table/use-table-form-context/index.d.ts +10 -0
  186. package/lib/types/fe-table/use-table-selection/index.d.ts +46 -0
  187. package/lib/types/fe-text-area/index.d.ts +4 -0
  188. package/lib/types/fe-time-picker/index.d.ts +3 -0
  189. package/lib/types/fe-upload/index.d.ts +85 -0
  190. package/lib/types/fe-upload/upload.constant.d.ts +39 -0
  191. package/lib/types/fe-upload-atomic/index.d.ts +2 -0
  192. package/lib/types/fe-upload-crop/index.d.ts +10 -0
  193. package/lib/types/hooks/index.d.ts +1 -0
  194. package/lib/types/hooks/use-descriptions/index.d.ts +3 -0
  195. package/lib/types/hooks/use-form/index.d.ts +14 -0
  196. package/lib/types/hooks/use-permission.hook/index.d.ts +10 -0
  197. package/lib/types/index.d.ts +32 -0
  198. package/lib/types/typings/index.d.ts +39 -0
  199. package/package.json +18 -8
  200. /package/lib/hooks/{use-nprogress.hook.js → use-nprogress.hook/index.js} +0 -0
  201. /package/lib/types/hooks/{use-auth.hook.d.ts → use-auth.hook/index.d.ts} +0 -0
  202. /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]>;