@magicbe/antd-crud 0.0.13

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.
@@ -0,0 +1,16 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ export interface ActionProps {
3
+ className?: string;
4
+ }
5
+ export interface ActionRef {
6
+ }
7
+ declare const _default: React.ForwardRefExoticComponent<ActionProps & React.RefAttributes<ActionRef>>;
8
+ export default _default;
9
+ /**自定义渲染 */
10
+ export declare const CustormRender: React.FC<PropsWithChildren>;
11
+ /**新增方法 */
12
+ export declare const AppendAction: React.FC;
13
+ /**删除方法 */
14
+ export declare const DeleteAction: React.FC;
15
+ /**编辑方法 */
16
+ export declare const EditAction: React.FC;
@@ -0,0 +1,447 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
53
+ import React, { Fragment, useImperativeHandle, useState } from "react";
54
+ import { Button, Drawer, Modal, Space } from "antd";
55
+ import { isArray, isEmpty, isFunction, isObject } from "lodash";
56
+ import { DeleteOutlined, EditOutlined, PlusOutlined } from "@ant-design/icons";
57
+ import createEmotion from "@emotion/css/create-instance";
58
+ import { useTableContext } from "./Context";
59
+ import AddForm from "./Add";
60
+ import EditForm from "./Edit";
61
+ var _a = createEmotion({ key: "action" }), css = _a.css, cx = _a.cx;
62
+ var wrapper_css = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-bottom: 25px;\n"], ["\n margin-bottom: 25px;\n"])));
63
+ /**操作 */
64
+ var Action = function (_a, ref) {
65
+ var className = _a.className;
66
+ var action = useTableContext().action;
67
+ useImperativeHandle(ref, function () { return ({}); });
68
+ /**不渲染 */
69
+ if (action === false)
70
+ return _jsx(Fragment, {});
71
+ /**自定义渲染 */
72
+ if (isFunction(action)) {
73
+ var Component = action;
74
+ return (_jsx(Space, __assign({ className: cx(wrapper_css, className) }, { children: _jsx(CustormRender, { children: _jsx(Component, {}) }) })));
75
+ }
76
+ /**自定义渲染数组 */
77
+ if (isArray(action)) {
78
+ var children = action.map(function (Component, key) { return (_jsx(CustormRender, { children: _jsx(Component, {}) }, key)); });
79
+ return (_jsx(Space, __assign({ className: cx(wrapper_css, className) }, { children: children })));
80
+ }
81
+ /**自定义渲染对象 */
82
+ if (isObject(action)) {
83
+ if (isEmpty(action))
84
+ return _jsx(Fragment, {});
85
+ var master = action.master;
86
+ /**不渲染 */
87
+ if (master === false) {
88
+ return _jsx(Fragment, {});
89
+ }
90
+ /**自定义渲染 */
91
+ if (isFunction(master)) {
92
+ var Component = master;
93
+ return (_jsx(Space, __assign({ className: cx(wrapper_css, className) }, { children: _jsx(CustormRender, { children: _jsx(Component, {}) }) })));
94
+ }
95
+ /**自定义渲染数组 */
96
+ if (isArray(master)) {
97
+ var children = master.map(function (Component, key) { return (_jsx(CustormRender, { children: _jsx(Component, {}) }, key)); });
98
+ return (_jsx(Space, __assign({ className: cx(wrapper_css, className) }, { children: children })));
99
+ }
100
+ /**自定义渲染对象 */
101
+ if (isObject(master)) {
102
+ var _b = master, add = _b.add, edit = _b.edit, del = _b.del;
103
+ var add_element = _jsx(Fragment, {});
104
+ var del_element = _jsx(Fragment, {});
105
+ var edit_element = _jsx(Fragment, {});
106
+ /**添加操作 */
107
+ {
108
+ if (isFunction(add)) {
109
+ var Component = add;
110
+ add_element = _jsx(CustormRender, { children: _jsx(Component, {}) });
111
+ }
112
+ if (add === true)
113
+ add_element = _jsx(AppendAction, {});
114
+ }
115
+ /**删除操作 */
116
+ {
117
+ if (isFunction(del)) {
118
+ var Component = del;
119
+ del_element = _jsx(CustormRender, { children: _jsx(Component, {}) });
120
+ }
121
+ if (del === true)
122
+ del_element = _jsx(DeleteAction, {});
123
+ }
124
+ /**编辑操作 */
125
+ {
126
+ if (isFunction(edit)) {
127
+ var Component = edit;
128
+ edit_element = _jsx(CustormRender, { children: _jsx(Component, {}) });
129
+ }
130
+ if (edit === true)
131
+ edit_element = _jsx(EditAction, {});
132
+ }
133
+ return (_jsxs(Space, __assign({ className: cx(wrapper_css, className) }, { children: [add_element, edit_element, del_element] })));
134
+ }
135
+ }
136
+ /**默认渲染 */
137
+ return (_jsxs(Space, __assign({ className: cx(wrapper_css, className) }, { children: [_jsx(AppendAction, {}), _jsx(EditAction, {}), _jsx(DeleteAction, {})] })));
138
+ };
139
+ export default React.forwardRef(Action);
140
+ /**自定义渲染 */
141
+ export var CustormRender = function (_a) {
142
+ var children = _a.children;
143
+ var _b = useTableContext(), add = _b.add, edit = _b.edit, del = _b.del, table_ref = _b.table_ref, filter_ref = _b.filter_ref;
144
+ var getSelectedKeys = function () { var _a; return (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys; };
145
+ var getSelectedRows = function () { var _a; return (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_rows; };
146
+ return React.cloneElement(children, { add: add, edit: edit, del: del, getSelectedKeys: getSelectedKeys, getSelectedRows: getSelectedRows });
147
+ };
148
+ /**新增方法 */
149
+ export var AppendAction = function () {
150
+ var _a = Modal.useModal(), modalInstance = _a[0], modalContextHolder = _a[1];
151
+ var add_form_ref = React.createRef();
152
+ var _b = useTableContext(), content_ref = _b.content_ref, table_ref = _b.table_ref, filter_ref = _b.filter_ref, add = _b.add;
153
+ /**添加表单抽屉 */
154
+ var _c = useState(false), add_drawer_open = _c[0], setAdd_drawer_open = _c[1];
155
+ var _d = useState(), init_data = _d[0], setInit_data = _d[1];
156
+ var _e = useState(false), loading = _e[0], setLoading = _e[1];
157
+ var switchAddDrawer = function () { return __awaiter(void 0, void 0, void 0, function () {
158
+ var init, keys, rows, data;
159
+ var _a, _b;
160
+ return __generator(this, function (_c) {
161
+ switch (_c.label) {
162
+ case 0:
163
+ if (!isObject(add)) return [3 /*break*/, 2];
164
+ init = add.init;
165
+ keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
166
+ rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
167
+ if (!isFunction(init)) return [3 /*break*/, 2];
168
+ return [4 /*yield*/, init({ keys: keys, rows: rows })];
169
+ case 1:
170
+ data = _c.sent();
171
+ if (data)
172
+ setInit_data(data);
173
+ _c.label = 2;
174
+ case 2:
175
+ setAdd_drawer_open(!add_drawer_open);
176
+ return [2 /*return*/];
177
+ }
178
+ });
179
+ }); };
180
+ var onConfirm = function () {
181
+ var _a;
182
+ (_a = add_form_ref.current) === null || _a === void 0 ? void 0 : _a.form.validateFields().then(function (value) { return __awaiter(void 0, void 0, void 0, function () {
183
+ var keys, rows, before, handle, after, page_data, filter_data, error_1;
184
+ var _a, _b, _c, _d, _e;
185
+ return __generator(this, function (_f) {
186
+ switch (_f.label) {
187
+ case 0:
188
+ setLoading(true);
189
+ keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
190
+ rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
191
+ _f.label = 1;
192
+ case 1:
193
+ _f.trys.push([1, 10, 11, 12]);
194
+ if (!isFunction(add)) return [3 /*break*/, 3];
195
+ return [4 /*yield*/, add(value, { keys: keys, rows: rows })];
196
+ case 2:
197
+ _f.sent();
198
+ return [3 /*break*/, 9];
199
+ case 3:
200
+ if (!isObject(add)) return [3 /*break*/, 9];
201
+ before = add.before, handle = add.handle, after = add.after;
202
+ if (!!!before) return [3 /*break*/, 5];
203
+ return [4 /*yield*/, before(value, { keys: keys, rows: rows })];
204
+ case 4:
205
+ _f.sent();
206
+ _f.label = 5;
207
+ case 5:
208
+ if (!!!handle) return [3 /*break*/, 7];
209
+ return [4 /*yield*/, handle(value, { keys: keys, rows: rows })];
210
+ case 6:
211
+ _f.sent();
212
+ _f.label = 7;
213
+ case 7:
214
+ if (!!!after) return [3 /*break*/, 9];
215
+ return [4 /*yield*/, after(value, { keys: keys, rows: rows })];
216
+ case 8:
217
+ _f.sent();
218
+ _f.label = 9;
219
+ case 9:
220
+ switchAddDrawer();
221
+ page_data = (_c = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _c === void 0 ? void 0 : _c.getPageData();
222
+ filter_data = (_d = filter_ref === null || filter_ref === void 0 ? void 0 : filter_ref.current) === null || _d === void 0 ? void 0 : _d.form.getFieldsValue();
223
+ (_e = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _e === void 0 ? void 0 : _e.loadRecords(Object.assign({}, page_data, filter_data));
224
+ return [3 /*break*/, 12];
225
+ case 10:
226
+ error_1 = _f.sent();
227
+ console.error(error_1);
228
+ modalInstance.error({
229
+ title: "错误",
230
+ content: String(error_1)
231
+ });
232
+ return [3 /*break*/, 12];
233
+ case 11:
234
+ setLoading(false);
235
+ return [7 /*endfinally*/];
236
+ case 12: return [2 /*return*/];
237
+ }
238
+ });
239
+ }); });
240
+ };
241
+ /**新增操作 */
242
+ var add_extra = (_jsxs(Space, { children: [_jsx(Button, __assign({ onClick: switchAddDrawer }, { children: "\u53D6\u6D88" })), _jsx(Button, __assign({ type: "primary", onClick: onConfirm, loading: loading }, { children: "\u786E\u5B9A" }))] }));
243
+ return (_jsxs(Fragment, { children: [_jsxs(Button, __assign({ type: "primary", onClick: switchAddDrawer }, { children: [_jsx(PlusOutlined, {}), "\u65B0\u589E"] })), _jsx(Drawer, __assign({ title: "\u65B0\u589E", width: 600, onClose: switchAddDrawer, open: add_drawer_open, closable: false, extra: add_extra, getContainer: function () { return content_ref.current; }, destroyOnClose: true }, { children: _jsx(AddForm, { ref: add_form_ref, default_data: init_data }) })), modalContextHolder] }));
244
+ };
245
+ /**删除方法 */
246
+ export var DeleteAction = function () {
247
+ var _a = Modal.useModal(), modalInstance = _a[0], modalContextHolder = _a[1];
248
+ var _b = useTableContext(), table_ref = _b.table_ref, filter_ref = _b.filter_ref, del = _b.del;
249
+ var _c = useState(false), loading = _c[0], setLoading = _c[1];
250
+ var onClick = function () { return __awaiter(void 0, void 0, void 0, function () {
251
+ var keys, rows, before, handle, after, res, page_data, filter_data, error_2;
252
+ var _a, _b, _c, _d, _e;
253
+ return __generator(this, function (_f) {
254
+ switch (_f.label) {
255
+ case 0:
256
+ setLoading(true);
257
+ _f.label = 1;
258
+ case 1:
259
+ _f.trys.push([1, 10, 11, 12]);
260
+ if (!isFunction(del)) return [3 /*break*/, 3];
261
+ return [4 /*yield*/, handleDel(del)];
262
+ case 2:
263
+ _f.sent();
264
+ return [3 /*break*/, 9];
265
+ case 3:
266
+ if (!isObject(del)) return [3 /*break*/, 9];
267
+ keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
268
+ rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
269
+ before = del.before, handle = del.handle, after = del.after;
270
+ if (!!!before) return [3 /*break*/, 5];
271
+ return [4 /*yield*/, before({ keys: keys, rows: rows })];
272
+ case 4:
273
+ _f.sent();
274
+ _f.label = 5;
275
+ case 5:
276
+ if (!!!handle) return [3 /*break*/, 7];
277
+ return [4 /*yield*/, handleDel(handle)];
278
+ case 6:
279
+ res = _f.sent();
280
+ if (res === false)
281
+ return [2 /*return*/];
282
+ _f.label = 7;
283
+ case 7:
284
+ if (!!!after) return [3 /*break*/, 9];
285
+ return [4 /*yield*/, after({ keys: keys, rows: rows })];
286
+ case 8:
287
+ _f.sent();
288
+ _f.label = 9;
289
+ case 9:
290
+ page_data = (_c = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _c === void 0 ? void 0 : _c.getPageData();
291
+ filter_data = (_d = filter_ref === null || filter_ref === void 0 ? void 0 : filter_ref.current) === null || _d === void 0 ? void 0 : _d.form.getFieldsValue();
292
+ (_e = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _e === void 0 ? void 0 : _e.loadRecords(Object.assign({}, page_data, filter_data));
293
+ return [3 /*break*/, 12];
294
+ case 10:
295
+ error_2 = _f.sent();
296
+ console.error(error_2);
297
+ modalInstance.error({
298
+ title: "错误",
299
+ content: String(error_2),
300
+ });
301
+ return [3 /*break*/, 12];
302
+ case 11:
303
+ setLoading(false);
304
+ return [7 /*endfinally*/];
305
+ case 12: return [2 /*return*/];
306
+ }
307
+ });
308
+ }); };
309
+ var handleDel = function (handle) {
310
+ var _a, _b;
311
+ var keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
312
+ var rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
313
+ return new Promise(function (resolve, reject) {
314
+ modalInstance.confirm({
315
+ title: "提示",
316
+ content: "\u786E\u5B9A\u8981\u5220\u9664 ".concat(keys === null || keys === void 0 ? void 0 : keys.length, " \u6761\u6570\u636E\u5417?"),
317
+ onOk: function () { return __awaiter(void 0, void 0, void 0, function () {
318
+ var error_3;
319
+ return __generator(this, function (_a) {
320
+ switch (_a.label) {
321
+ case 0:
322
+ _a.trys.push([0, 2, , 3]);
323
+ return [4 /*yield*/, handle({ keys: keys, rows: rows })];
324
+ case 1:
325
+ _a.sent();
326
+ resolve(true);
327
+ return [3 /*break*/, 3];
328
+ case 2:
329
+ error_3 = _a.sent();
330
+ modalInstance.error({
331
+ title: "错误",
332
+ content: String(error_3)
333
+ });
334
+ reject(error_3);
335
+ return [3 /*break*/, 3];
336
+ case 3: return [2 /*return*/];
337
+ }
338
+ });
339
+ }); },
340
+ onCancel: function () {
341
+ reject(false);
342
+ }
343
+ });
344
+ });
345
+ };
346
+ return (_jsxs(Fragment, { children: [_jsxs(Button, __assign({ type: "primary", danger: true, onClick: onClick, loading: loading }, { children: [_jsx(DeleteOutlined, {}), "\u5220\u9664"] })), modalContextHolder] }));
347
+ };
348
+ /**编辑方法 */
349
+ export var EditAction = function () {
350
+ var _a = Modal.useModal(), modalInstance = _a[0], modalContextHolder = _a[1];
351
+ var _b = useTableContext(), content_ref = _b.content_ref, table_ref = _b.table_ref, filter_ref = _b.filter_ref, edit = _b.edit;
352
+ var edit_form_ref = React.createRef();
353
+ /**编辑 */
354
+ var _c = useState(false), edit_drawer_open = _c[0], setEdit_drawer_open = _c[1];
355
+ var _d = useState(false), loading = _d[0], setLoading = _d[1];
356
+ var _e = useState(), init_data = _e[0], setInit_data = _e[1];
357
+ var switchEditDrawer = function () { return setEdit_drawer_open(!edit_drawer_open); };
358
+ var onClick = function () { return __awaiter(void 0, void 0, void 0, function () {
359
+ var keys, rows, init, init_data_1;
360
+ var _a, _b;
361
+ return __generator(this, function (_c) {
362
+ switch (_c.label) {
363
+ case 0:
364
+ keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
365
+ rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
366
+ if (!isObject(edit)) return [3 /*break*/, 2];
367
+ init = edit.init;
368
+ if (!init) return [3 /*break*/, 2];
369
+ return [4 /*yield*/, init({ keys: keys, rows: rows })];
370
+ case 1:
371
+ init_data_1 = _c.sent();
372
+ if (init_data_1)
373
+ setInit_data(init_data_1);
374
+ _c.label = 2;
375
+ case 2:
376
+ switchEditDrawer();
377
+ return [2 /*return*/];
378
+ }
379
+ });
380
+ }); };
381
+ var onConfirm = function () {
382
+ var _a;
383
+ (_a = edit_form_ref.current) === null || _a === void 0 ? void 0 : _a.form.validateFields().then(function (value) { return __awaiter(void 0, void 0, void 0, function () {
384
+ var keys, rows, before, handle, after, page_data, filter_data, error_4;
385
+ var _a, _b, _c, _d, _e;
386
+ return __generator(this, function (_f) {
387
+ switch (_f.label) {
388
+ case 0:
389
+ setLoading(true);
390
+ keys = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.selected_keys;
391
+ rows = (_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.selected_rows;
392
+ _f.label = 1;
393
+ case 1:
394
+ _f.trys.push([1, 10, 11, 12]);
395
+ if (!isFunction(edit)) return [3 /*break*/, 3];
396
+ return [4 /*yield*/, edit(value, { keys: keys, rows: rows })];
397
+ case 2:
398
+ _f.sent();
399
+ return [3 /*break*/, 9];
400
+ case 3:
401
+ if (!isObject(edit)) return [3 /*break*/, 9];
402
+ before = edit.before, handle = edit.handle, after = edit.after;
403
+ if (!!!before) return [3 /*break*/, 5];
404
+ return [4 /*yield*/, before(value, { keys: keys, rows: rows })];
405
+ case 4:
406
+ _f.sent();
407
+ _f.label = 5;
408
+ case 5:
409
+ if (!!!handle) return [3 /*break*/, 7];
410
+ return [4 /*yield*/, handle(value, { keys: keys, rows: rows })];
411
+ case 6:
412
+ _f.sent();
413
+ _f.label = 7;
414
+ case 7:
415
+ if (!!!after) return [3 /*break*/, 9];
416
+ return [4 /*yield*/, after(value, { keys: keys, rows: rows })];
417
+ case 8:
418
+ _f.sent();
419
+ _f.label = 9;
420
+ case 9:
421
+ setInit_data(undefined);
422
+ switchEditDrawer();
423
+ page_data = (_c = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _c === void 0 ? void 0 : _c.getPageData();
424
+ filter_data = (_d = filter_ref === null || filter_ref === void 0 ? void 0 : filter_ref.current) === null || _d === void 0 ? void 0 : _d.form.getFieldsValue();
425
+ (_e = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _e === void 0 ? void 0 : _e.loadRecords(Object.assign({}, page_data, filter_data));
426
+ return [3 /*break*/, 12];
427
+ case 10:
428
+ error_4 = _f.sent();
429
+ console.error(error_4);
430
+ modalInstance.error({
431
+ title: "错误",
432
+ content: String(error_4)
433
+ });
434
+ return [3 /*break*/, 12];
435
+ case 11:
436
+ setLoading(false);
437
+ return [7 /*endfinally*/];
438
+ case 12: return [2 /*return*/];
439
+ }
440
+ });
441
+ }); });
442
+ };
443
+ /**编辑操作 */
444
+ var edit_extra = (_jsxs(Space, { children: [_jsx(Button, __assign({ onClick: switchEditDrawer }, { children: "\u53D6\u6D88" })), _jsx(Button, __assign({ type: "primary", onClick: onConfirm, loading: loading }, { children: "\u786E\u5B9A" }))] }));
445
+ return (_jsxs(Fragment, { children: [_jsxs(Button, __assign({ onClick: onClick }, { children: [_jsx(EditOutlined, {}), "\u7F16\u8F91"] })), _jsx(Drawer, __assign({ title: "\u7F16\u8F91", width: 600, onClose: switchEditDrawer, open: edit_drawer_open, closable: false, extra: edit_extra, getContainer: function () { return content_ref.current; }, destroyOnClose: true }, { children: _jsx(EditForm, { ref: edit_form_ref, default_data: init_data }) })), modalContextHolder] }));
446
+ };
447
+ var templateObject_1;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { FormInstance } from "antd";
3
+ export interface AddFormProps {
4
+ default_data?: Record<string, any>;
5
+ }
6
+ export interface AddFormRef {
7
+ form: FormInstance;
8
+ }
9
+ declare const AddForm: React.ForwardRefExoticComponent<AddFormProps & React.RefAttributes<AddFormRef>>;
10
+ export default AddForm;
@@ -0,0 +1,62 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { createElement as _createElement } from "react";
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import React, { useImperativeHandle } from "react";
26
+ import { Form as AntdForm, Empty } from "antd";
27
+ import Field from "./Field";
28
+ import { isObject, isString } from "lodash";
29
+ import { useTableContext } from "./Context";
30
+ var AddForm = React.forwardRef(function (_a, ref) {
31
+ var _b;
32
+ var default_data = _a.default_data;
33
+ var form = AntdForm.useForm()[0];
34
+ var columns = useTableContext().columns;
35
+ var fields = (_b = columns === null || columns === void 0 ? void 0 : columns.filter(function (_a) {
36
+ var dataIndex = _a.dataIndex;
37
+ return !!dataIndex;
38
+ })) === null || _b === void 0 ? void 0 : _b.filter(function (_a) {
39
+ var add = _a.add, edit = _a.edit;
40
+ return !!add;
41
+ }).map(function (_a) {
42
+ var add = _a.add, edit = _a.edit, field = _a.field, column = __rest(_a, ["add", "edit", "field"]);
43
+ if (add === true) {
44
+ return Object.assign(column, { field: field });
45
+ }
46
+ if (isObject(add)) {
47
+ return Object.assign(column, { field: add });
48
+ }
49
+ if (isString(add)) {
50
+ return Object.assign(column, { field: add });
51
+ }
52
+ return column;
53
+ });
54
+ if (!(fields === null || fields === void 0 ? void 0 : fields.length)) {
55
+ return _jsx(Empty, { description: "暂无数据字段!" });
56
+ }
57
+ useImperativeHandle(ref, function () { return ({
58
+ form: form,
59
+ }); });
60
+ return (_jsx(AntdForm, __assign({ form: form, layout: "vertical", initialValues: default_data }, { children: fields.map(function (field) { return _createElement(Field, __assign({}, field, { key: String(field.dataIndex) })); }) })));
61
+ });
62
+ export default AddForm;
@@ -0,0 +1,14 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { AnyObject, type ContentProps } from "../interface";
3
+ import { type FilterRef } from "./Filter";
4
+ import { type ActionRef } from "./Action";
5
+ import { type TableRef } from "./Table";
6
+ interface TableContextProps<RecordType> extends ContentProps<RecordType> {
7
+ filter_ref: React.RefObject<FilterRef>;
8
+ action_ref: React.RefObject<ActionRef>;
9
+ table_ref: React.RefObject<TableRef>;
10
+ content_ref: React.RefObject<HTMLDivElement>;
11
+ }
12
+ export declare const TableContextProvider: <RecordType extends AnyObject = AnyObject>({ children, ...props }: React.PropsWithChildren<ContentProps<RecordType>>) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const useTableContext: () => Partial<TableContextProps<any>>;
14
+ export {};
@@ -0,0 +1,34 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import React, { useContext } from "react";
25
+ var TableContext = React.createContext({});
26
+ export var TableContextProvider = function (_a) {
27
+ var children = _a.children, props = __rest(_a, ["children"]);
28
+ var filter_ref = React.createRef();
29
+ var action_ref = React.createRef();
30
+ var table_ref = React.createRef();
31
+ var content_ref = React.createRef();
32
+ return (_jsx(TableContext.Provider, __assign({ value: __assign(__assign({}, props), { filter_ref: filter_ref, action_ref: action_ref, table_ref: table_ref, content_ref: content_ref }) }, { children: children })));
33
+ };
34
+ export var useTableContext = function () { return useContext(TableContext); };
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { FormInstance } from "antd";
3
+ export interface EditFormRef {
4
+ form: FormInstance;
5
+ }
6
+ export interface EditFormProps {
7
+ default_data?: Record<string, any>;
8
+ }
9
+ declare const EditForm: React.ForwardRefExoticComponent<EditFormProps & React.RefAttributes<EditFormRef>>;
10
+ export default EditForm;
@@ -0,0 +1,62 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { createElement as _createElement } from "react";
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import React, { useImperativeHandle } from "react";
26
+ import { Form as AntdForm, Empty } from "antd";
27
+ import { useTableContext } from "./Context";
28
+ import { isObject, isString } from "lodash";
29
+ import Field from "./Field";
30
+ var EditForm = React.forwardRef(function (_a, ref) {
31
+ var _b;
32
+ var _c = _a.default_data, default_data = _c === void 0 ? {} : _c;
33
+ var form = AntdForm.useForm()[0];
34
+ var columns = useTableContext().columns;
35
+ var fields = (_b = columns === null || columns === void 0 ? void 0 : columns.filter(function (_a) {
36
+ var dataIndex = _a.dataIndex;
37
+ return !!dataIndex;
38
+ })) === null || _b === void 0 ? void 0 : _b.filter(function (_a) {
39
+ var edit = _a.edit;
40
+ return !!edit;
41
+ }).map(function (_a) {
42
+ var add = _a.add, edit = _a.edit, field = _a.field, column = __rest(_a, ["add", "edit", "field"]);
43
+ if (edit === true) {
44
+ return Object.assign(column, { field: field });
45
+ }
46
+ if (isObject(edit)) {
47
+ return Object.assign(column, { field: edit });
48
+ }
49
+ if (isString(edit)) {
50
+ return Object.assign(column, { field: edit });
51
+ }
52
+ return column;
53
+ });
54
+ if (!(fields === null || fields === void 0 ? void 0 : fields.length)) {
55
+ return _jsx(Empty, { description: "暂无数据字段!" });
56
+ }
57
+ useImperativeHandle(ref, function () { return ({
58
+ form: form,
59
+ }); });
60
+ return (_jsx(AntdForm, __assign({ form: form, layout: "vertical", initialValues: default_data }, { children: fields.map(function (field) { return _createElement(Field, __assign({}, field, { key: String(field.dataIndex) })); }) })));
61
+ });
62
+ export default EditForm;