@faasjs/ant-design 0.0.2-beta.346 → 0.0.2-beta.350
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +17 -4
- package/dist/index.js +108 -51
- package/dist/index.mjs +72 -17
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DescriptionsProps, FormItemProps as FormItemProps$1, InputProps, InputNumberProps, SwitchProps, SelectProps, FormProps as FormProps$1, TableColumnProps, TableProps as TableProps$1 } from 'antd';
|
|
1
|
+
import { DescriptionsProps, DrawerProps as DrawerProps$1, FormItemProps as FormItemProps$1, InputProps, InputNumberProps, SwitchProps, SelectProps, FormProps as FormProps$1, TableColumnProps, TableProps as TableProps$1 } from 'antd';
|
|
2
|
+
export { Drawer } from 'antd';
|
|
2
3
|
import * as antd_lib_form_Form from 'antd/lib/form/Form';
|
|
3
4
|
import { RuleObject } from 'rc-field-form/lib/interface';
|
|
4
5
|
|
|
@@ -58,6 +59,15 @@ declare type DescriptionProps<T = any, ExtendItemProps = any> = {
|
|
|
58
59
|
} & DescriptionsProps;
|
|
59
60
|
declare function Description(props: DescriptionProps): JSX.Element;
|
|
60
61
|
|
|
62
|
+
declare type DrawerProps = DrawerProps$1 & {
|
|
63
|
+
children?: JSX.Element | JSX.Element[];
|
|
64
|
+
};
|
|
65
|
+
declare function useDrawer(init?: DrawerProps): {
|
|
66
|
+
drawer: JSX.Element;
|
|
67
|
+
drawerProps: DrawerProps;
|
|
68
|
+
setDrawerProps(changes: Partial<DrawerProps>): void;
|
|
69
|
+
};
|
|
70
|
+
|
|
61
71
|
declare type StringProps = {
|
|
62
72
|
type?: 'string';
|
|
63
73
|
input?: InputProps;
|
|
@@ -91,7 +101,7 @@ declare type ExtendFormTypeProps = {
|
|
|
91
101
|
};
|
|
92
102
|
declare type ExtendFormItemProps = BaseItemProps & FormItemProps$1;
|
|
93
103
|
declare type FormItemProps<T = any> = {
|
|
94
|
-
children?: JSX.Element;
|
|
104
|
+
children?: JSX.Element | null;
|
|
95
105
|
rules?: RuleObject[];
|
|
96
106
|
label?: string | false;
|
|
97
107
|
extendTypes?: {
|
|
@@ -117,7 +127,10 @@ declare namespace Form {
|
|
|
117
127
|
var Item: typeof FormItem;
|
|
118
128
|
}
|
|
119
129
|
|
|
120
|
-
declare type TableItemProps<T = any> =
|
|
130
|
+
declare type TableItemProps<T = any> = {
|
|
131
|
+
/** @deprecated use render */
|
|
132
|
+
children?: JSX.Element | null;
|
|
133
|
+
} & FaasItemProps & TableColumnProps<T>;
|
|
121
134
|
declare type ExtendTableTypeProps = {
|
|
122
135
|
children?: JSX.Element | null;
|
|
123
136
|
render?: (value: any, values: any) => JSX.Element | string | number | boolean | null;
|
|
@@ -135,4 +148,4 @@ declare type TableProps<T = any, ExtendTypes = any> = {
|
|
|
135
148
|
} & TableProps$1<T>;
|
|
136
149
|
declare function Table<T = any, ExtendTypes = any>(props: TableProps<T, ExtendTypes>): JSX.Element;
|
|
137
150
|
|
|
138
|
-
export { BaseItemProps, BaseOption, Blank, Description, DescriptionItemProps, DescriptionProps, ExtendDescriptionItemProps, ExtendDescriptionTypeProps, ExtendFormItemProps, ExtendFormTypeProps, ExtendTableItemProps, ExtendTableTypeProps, FaasItemProps, FaasItemType, FaasItemTypeValue, Form, FormItem, FormItemProps, FormProps, Table, TableItemProps, TableProps, transferOptions };
|
|
151
|
+
export { BaseItemProps, BaseOption, Blank, Description, DescriptionItemProps, DescriptionProps, DrawerProps, ExtendDescriptionItemProps, ExtendDescriptionTypeProps, ExtendFormItemProps, ExtendFormTypeProps, ExtendTableItemProps, ExtendTableTypeProps, FaasItemProps, FaasItemType, FaasItemTypeValue, Form, FormItem, FormItemProps, FormProps, Table, TableItemProps, TableProps, transferOptions, useDrawer };
|
package/dist/index.js
CHANGED
|
@@ -48,10 +48,12 @@ var src_exports = {};
|
|
|
48
48
|
__export(src_exports, {
|
|
49
49
|
Blank: () => Blank,
|
|
50
50
|
Description: () => Description,
|
|
51
|
+
Drawer: () => import_antd3.Drawer,
|
|
51
52
|
Form: () => Form,
|
|
52
53
|
FormItem: () => FormItem,
|
|
53
54
|
Table: () => Table,
|
|
54
|
-
transferOptions: () => transferOptions
|
|
55
|
+
transferOptions: () => transferOptions,
|
|
56
|
+
useDrawer: () => useDrawer
|
|
55
57
|
});
|
|
56
58
|
|
|
57
59
|
// react-shim.js
|
|
@@ -98,13 +100,18 @@ function FaasDataWrapper({
|
|
|
98
100
|
(0, import_react2.useEffect)(() => {
|
|
99
101
|
if (!faasData)
|
|
100
102
|
return;
|
|
101
|
-
(0, import_react3.getClient)().faas(faasData.action, faasData.
|
|
102
|
-
|
|
103
|
+
(0, import_react3.getClient)().faas(faasData.action, faasData.params).then((res) => {
|
|
104
|
+
if (faasData.setData)
|
|
105
|
+
faasData.setData(res.data);
|
|
106
|
+
else
|
|
107
|
+
setData(res.data);
|
|
108
|
+
});
|
|
109
|
+
}, [JSON.stringify([faasData == null ? void 0 : faasData.action, faasData == null ? void 0 : faasData.params])]);
|
|
103
110
|
if (dataSource)
|
|
104
111
|
return render({ data: dataSource });
|
|
105
|
-
if (!data)
|
|
112
|
+
if (!data && !faasData.data)
|
|
106
113
|
return fallback || null;
|
|
107
|
-
return render({ data });
|
|
114
|
+
return render({ data: faasData.data || data });
|
|
108
115
|
}
|
|
109
116
|
|
|
110
117
|
// src/Description.tsx
|
|
@@ -188,17 +195,37 @@ function Description(props) {
|
|
|
188
195
|
});
|
|
189
196
|
}
|
|
190
197
|
|
|
198
|
+
// src/Drawer.tsx
|
|
199
|
+
var import_antd3 = require("antd");
|
|
200
|
+
var import_react5 = require("react");
|
|
201
|
+
function useDrawer(init) {
|
|
202
|
+
const [props, setProps] = (0, import_react5.useState)(__spreadValues({
|
|
203
|
+
visible: false,
|
|
204
|
+
onClose: () => setProps((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
205
|
+
visible: false
|
|
206
|
+
}))
|
|
207
|
+
}, init));
|
|
208
|
+
return {
|
|
209
|
+
drawer: /* @__PURE__ */ import_react.default.createElement(import_antd3.Drawer, __spreadValues({}, props)),
|
|
210
|
+
drawerProps: props,
|
|
211
|
+
setDrawerProps(changes) {
|
|
212
|
+
setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
191
217
|
// src/Form.tsx
|
|
192
|
-
var
|
|
218
|
+
var import_antd5 = require("antd");
|
|
219
|
+
var import_react7 = require("react");
|
|
193
220
|
|
|
194
221
|
// src/FormItem.tsx
|
|
195
|
-
var
|
|
222
|
+
var import_antd4 = require("antd");
|
|
196
223
|
var import_icons2 = require("@ant-design/icons");
|
|
197
|
-
var
|
|
224
|
+
var import_react6 = require("react");
|
|
198
225
|
var import_lodash4 = require("lodash");
|
|
199
226
|
function FormItem(props) {
|
|
200
|
-
const [computedProps, setComputedProps] = (0,
|
|
201
|
-
(0,
|
|
227
|
+
const [computedProps, setComputedProps] = (0, import_react6.useState)();
|
|
228
|
+
(0, import_react6.useEffect)(() => {
|
|
202
229
|
const propsCopy = __spreadValues({}, props);
|
|
203
230
|
if (!propsCopy.title)
|
|
204
231
|
propsCopy.title = (0, import_lodash4.upperFirst)(propsCopy.id);
|
|
@@ -239,58 +266,58 @@ function FormItem(props) {
|
|
|
239
266
|
if (!computedProps)
|
|
240
267
|
return null;
|
|
241
268
|
if (computedProps.extendTypes && computedProps.extendTypes[computedProps.type])
|
|
242
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
269
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), computedProps.extendTypes[computedProps.type].children);
|
|
243
270
|
if (computedProps.children)
|
|
244
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
271
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), computedProps.children);
|
|
245
272
|
switch (computedProps.type) {
|
|
246
273
|
case "string":
|
|
247
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
274
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), computedProps.options ? /* @__PURE__ */ import_react.default.createElement(import_antd4.Select, __spreadValues({}, computedProps.input)) : /* @__PURE__ */ import_react.default.createElement(import_antd4.Input, __spreadValues({}, computedProps.input)));
|
|
248
275
|
case "string[]":
|
|
249
276
|
if (computedProps.options)
|
|
250
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
277
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(import_antd4.Select, __spreadValues({
|
|
251
278
|
mode: "multiple"
|
|
252
279
|
}, computedProps.input)));
|
|
253
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
280
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.List, {
|
|
254
281
|
name: computedProps.name,
|
|
255
282
|
rules: computedProps.rules
|
|
256
283
|
}, (fields, { add, remove }, { errors }) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, computedProps.label && /* @__PURE__ */ import_react.default.createElement("div", {
|
|
257
284
|
className: "ant-form-item-label"
|
|
258
285
|
}, /* @__PURE__ */ import_react.default.createElement("label", {
|
|
259
286
|
className: computedProps.rules.find((r) => r.required) && "ant-form-item-required"
|
|
260
|
-
}, computedProps.label)), fields.map((field) => /* @__PURE__ */ import_react.default.createElement(
|
|
287
|
+
}, computedProps.label)), fields.map((field) => /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, {
|
|
261
288
|
key: field.key
|
|
262
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
289
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Row, {
|
|
263
290
|
gutter: 24
|
|
264
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
291
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Col, {
|
|
265
292
|
span: 23
|
|
266
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
293
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadProps(__spreadValues({}, field), {
|
|
267
294
|
noStyle: true
|
|
268
|
-
}), /* @__PURE__ */ import_react.default.createElement(
|
|
295
|
+
}), /* @__PURE__ */ import_react.default.createElement(import_antd4.Input, __spreadValues({}, computedProps.input)))), /* @__PURE__ */ import_react.default.createElement(import_antd4.Col, {
|
|
269
296
|
span: 1
|
|
270
|
-
}, (!computedProps.rules.find((r) => r.required) || field.key > 0) && /* @__PURE__ */ import_react.default.createElement(
|
|
297
|
+
}, (!computedProps.rules.find((r) => r.required) || field.key > 0) && /* @__PURE__ */ import_react.default.createElement(import_antd4.Button, {
|
|
271
298
|
danger: true,
|
|
272
299
|
type: "link",
|
|
273
300
|
style: { float: "right" },
|
|
274
301
|
icon: /* @__PURE__ */ import_react.default.createElement(import_icons2.MinusCircleOutlined, null),
|
|
275
302
|
onClick: () => remove(field.name)
|
|
276
|
-
}))))), /* @__PURE__ */ import_react.default.createElement(
|
|
303
|
+
}))))), /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, null, (!computedProps.maxCount || computedProps.maxCount > fields.length) && /* @__PURE__ */ import_react.default.createElement(import_antd4.Button, {
|
|
277
304
|
type: "dashed",
|
|
278
305
|
block: true,
|
|
279
306
|
onClick: () => add(),
|
|
280
307
|
icon: /* @__PURE__ */ import_react.default.createElement(import_icons2.PlusOutlined, null)
|
|
281
|
-
}), /* @__PURE__ */ import_react.default.createElement(
|
|
308
|
+
}), /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.ErrorList, {
|
|
282
309
|
errors
|
|
283
310
|
}))));
|
|
284
311
|
case "number":
|
|
285
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
312
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), computedProps.options ? /* @__PURE__ */ import_react.default.createElement(import_antd4.Select, __spreadValues({}, computedProps.input)) : /* @__PURE__ */ import_react.default.createElement(import_antd4.InputNumber, __spreadValues({
|
|
286
313
|
style: { width: "100%" }
|
|
287
314
|
}, computedProps.input)));
|
|
288
315
|
case "number[]":
|
|
289
316
|
if (computedProps.options)
|
|
290
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
317
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(import_antd4.Select, __spreadValues({
|
|
291
318
|
mode: "multiple"
|
|
292
319
|
}, computedProps.input)));
|
|
293
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
320
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.List, {
|
|
294
321
|
name: computedProps.name,
|
|
295
322
|
rules: computedProps.rules
|
|
296
323
|
}, (fields, { add, remove }, { errors }) => {
|
|
@@ -299,35 +326,35 @@ function FormItem(props) {
|
|
|
299
326
|
className: "ant-form-item-label"
|
|
300
327
|
}, /* @__PURE__ */ import_react.default.createElement("label", {
|
|
301
328
|
className: ((_a2 = computedProps.rules) == null ? void 0 : _a2.find((r) => r.required)) && "ant-form-item-required"
|
|
302
|
-
}, computedProps.label)), fields.map((field) => /* @__PURE__ */ import_react.default.createElement(
|
|
329
|
+
}, computedProps.label)), fields.map((field) => /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, {
|
|
303
330
|
key: field.key
|
|
304
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
331
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Row, {
|
|
305
332
|
gutter: 24
|
|
306
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
333
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Col, {
|
|
307
334
|
span: 23
|
|
308
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
335
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadProps(__spreadValues({}, field), {
|
|
309
336
|
noStyle: true
|
|
310
|
-
}), /* @__PURE__ */ import_react.default.createElement(
|
|
337
|
+
}), /* @__PURE__ */ import_react.default.createElement(import_antd4.InputNumber, __spreadValues({
|
|
311
338
|
style: { width: "100%" }
|
|
312
|
-
}, computedProps.input)))), /* @__PURE__ */ import_react.default.createElement(
|
|
339
|
+
}, computedProps.input)))), /* @__PURE__ */ import_react.default.createElement(import_antd4.Col, {
|
|
313
340
|
span: 1
|
|
314
|
-
}, (!computedProps.rules.find((r) => r.required) || field.key > 0) && /* @__PURE__ */ import_react.default.createElement(
|
|
341
|
+
}, (!computedProps.rules.find((r) => r.required) || field.key > 0) && /* @__PURE__ */ import_react.default.createElement(import_antd4.Button, {
|
|
315
342
|
danger: true,
|
|
316
343
|
type: "link",
|
|
317
344
|
style: { float: "right" },
|
|
318
345
|
icon: /* @__PURE__ */ import_react.default.createElement(import_icons2.MinusCircleOutlined, null),
|
|
319
346
|
onClick: () => remove(field.name)
|
|
320
|
-
}))))), /* @__PURE__ */ import_react.default.createElement(
|
|
347
|
+
}))))), /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, null, (!computedProps.maxCount || computedProps.maxCount > fields.length) && /* @__PURE__ */ import_react.default.createElement(import_antd4.Button, {
|
|
321
348
|
type: "dashed",
|
|
322
349
|
block: true,
|
|
323
350
|
onClick: () => add(),
|
|
324
351
|
icon: /* @__PURE__ */ import_react.default.createElement(import_icons2.PlusOutlined, null)
|
|
325
|
-
}), /* @__PURE__ */ import_react.default.createElement(
|
|
352
|
+
}), /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.ErrorList, {
|
|
326
353
|
errors
|
|
327
354
|
})));
|
|
328
355
|
});
|
|
329
356
|
case "boolean":
|
|
330
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
357
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(import_antd4.Switch, __spreadValues({}, computedProps.input)));
|
|
331
358
|
default:
|
|
332
359
|
return null;
|
|
333
360
|
}
|
|
@@ -336,21 +363,39 @@ function FormItem(props) {
|
|
|
336
363
|
// src/Form.tsx
|
|
337
364
|
function Form(props) {
|
|
338
365
|
var _a2, _b;
|
|
339
|
-
|
|
366
|
+
const [loading, setLoading] = (0, import_react7.useState)(false);
|
|
367
|
+
const [computedProps, setComputedProps] = (0, import_react7.useState)();
|
|
368
|
+
(0, import_react7.useEffect)(() => {
|
|
369
|
+
const propsCopy = __spreadValues({}, props);
|
|
370
|
+
if (propsCopy.onFinish) {
|
|
371
|
+
propsCopy.onFinish = async (values) => {
|
|
372
|
+
setLoading(true);
|
|
373
|
+
try {
|
|
374
|
+
await propsCopy.onFinish(values);
|
|
375
|
+
} catch (error) {
|
|
376
|
+
console.error(error);
|
|
377
|
+
}
|
|
378
|
+
setLoading(false);
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
setComputedProps(props);
|
|
382
|
+
}, []);
|
|
383
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd5.Form, __spreadValues({}, computedProps), (_a2 = props.items) == null ? void 0 : _a2.map((item) => /* @__PURE__ */ import_react.default.createElement(FormItem, __spreadProps(__spreadValues({
|
|
340
384
|
key: item.id
|
|
341
385
|
}, item), {
|
|
342
386
|
extendTypes: props.extendTypes
|
|
343
|
-
}))), props.children, props.submit !== false && /* @__PURE__ */ import_react.default.createElement(
|
|
387
|
+
}))), props.children, props.submit !== false && /* @__PURE__ */ import_react.default.createElement(import_antd5.Button, {
|
|
344
388
|
htmlType: "submit",
|
|
345
|
-
type: "primary"
|
|
389
|
+
type: "primary",
|
|
390
|
+
loading
|
|
346
391
|
}, ((_b = props.submit) == null ? void 0 : _b.text) || "Submit"));
|
|
347
392
|
}
|
|
348
|
-
Form.useForm =
|
|
393
|
+
Form.useForm = import_antd5.Form.useForm;
|
|
349
394
|
Form.Item = FormItem;
|
|
350
395
|
|
|
351
396
|
// src/Table.tsx
|
|
352
|
-
var
|
|
353
|
-
var
|
|
397
|
+
var import_react8 = require("react");
|
|
398
|
+
var import_antd6 = require("antd");
|
|
354
399
|
var import_icons3 = require("@ant-design/icons");
|
|
355
400
|
var import_lodash5 = require("lodash");
|
|
356
401
|
function processValue(item, value) {
|
|
@@ -367,8 +412,8 @@ function processValue(item, value) {
|
|
|
367
412
|
return value;
|
|
368
413
|
}
|
|
369
414
|
function Table(props) {
|
|
370
|
-
const [columns, setColumns] = (0,
|
|
371
|
-
(0,
|
|
415
|
+
const [columns, setColumns] = (0, import_react8.useState)();
|
|
416
|
+
(0, import_react8.useEffect)(() => {
|
|
372
417
|
var _a2;
|
|
373
418
|
for (const item of props.items) {
|
|
374
419
|
if (!item.key)
|
|
@@ -388,9 +433,11 @@ function Table(props) {
|
|
|
388
433
|
}
|
|
389
434
|
if (item.render)
|
|
390
435
|
continue;
|
|
436
|
+
if (item.children)
|
|
437
|
+
delete item.children;
|
|
391
438
|
if (props.extendTypes && props.extendTypes[item.type]) {
|
|
392
439
|
if (props.extendTypes[item.type].children) {
|
|
393
|
-
item.render = (value, values) => (0,
|
|
440
|
+
item.render = (value, values) => (0, import_react8.cloneElement)(props.extendTypes[item.type].children, {
|
|
394
441
|
value,
|
|
395
442
|
values
|
|
396
443
|
});
|
|
@@ -403,14 +450,20 @@ function Table(props) {
|
|
|
403
450
|
switch (item.type) {
|
|
404
451
|
case "string[]":
|
|
405
452
|
item.render = (value) => processValue(item, value).join(", ");
|
|
453
|
+
if (!item.onFilter)
|
|
454
|
+
item.onFilter = (value, row) => row[item.id].includes(value);
|
|
406
455
|
break;
|
|
407
456
|
case "number":
|
|
408
457
|
item.render = (value) => processValue(item, value);
|
|
409
458
|
if (!item.sorter)
|
|
410
459
|
item.sorter = (a, b) => a[item.id] - b[item.id];
|
|
460
|
+
if (!item.onFilter)
|
|
461
|
+
item.onFilter = (value, row) => value === row[item.id];
|
|
411
462
|
break;
|
|
412
463
|
case "number[]":
|
|
413
464
|
item.render = (value) => processValue(item, value).join(", ");
|
|
465
|
+
if (!item.onFilter)
|
|
466
|
+
item.onFilter = (value, row) => row[item.id].includes(value);
|
|
414
467
|
break;
|
|
415
468
|
case "boolean":
|
|
416
469
|
item.render = (value) => typeof value === "undefined" ? /* @__PURE__ */ import_react.default.createElement(Blank, null) : value ? /* @__PURE__ */ import_react.default.createElement(import_icons3.CheckOutlined, {
|
|
@@ -431,7 +484,7 @@ function Table(props) {
|
|
|
431
484
|
confirm
|
|
432
485
|
}) => {
|
|
433
486
|
var _a3, _b;
|
|
434
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
487
|
+
return /* @__PURE__ */ import_react.default.createElement(import_antd6.Radio.Group, {
|
|
435
488
|
style: { padding: 8 },
|
|
436
489
|
buttonStyle: "solid",
|
|
437
490
|
value: selectedKeys[0],
|
|
@@ -439,21 +492,21 @@ function Table(props) {
|
|
|
439
492
|
setSelectedKeys(e.target.value ? [e.target.value] : []);
|
|
440
493
|
confirm();
|
|
441
494
|
}
|
|
442
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
495
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_antd6.Radio.Button, null, ((_a3 = navigator.language) == null ? void 0 : _a3.includes("CN")) ? "\u5168\u90E8" : "All"), /* @__PURE__ */ import_react.default.createElement(import_antd6.Radio.Button, {
|
|
443
496
|
value: "true"
|
|
444
497
|
}, /* @__PURE__ */ import_react.default.createElement(import_icons3.CheckOutlined, {
|
|
445
498
|
style: {
|
|
446
499
|
color: "#52c41a",
|
|
447
500
|
verticalAlign: "middle"
|
|
448
501
|
}
|
|
449
|
-
})), /* @__PURE__ */ import_react.default.createElement(
|
|
502
|
+
})), /* @__PURE__ */ import_react.default.createElement(import_antd6.Radio.Button, {
|
|
450
503
|
value: "false"
|
|
451
504
|
}, /* @__PURE__ */ import_react.default.createElement(import_icons3.CloseOutlined, {
|
|
452
505
|
style: {
|
|
453
506
|
verticalAlign: "middle",
|
|
454
507
|
color: "#ff4d4f"
|
|
455
508
|
}
|
|
456
|
-
})), /* @__PURE__ */ import_react.default.createElement(
|
|
509
|
+
})), /* @__PURE__ */ import_react.default.createElement(import_antd6.Radio.Button, {
|
|
457
510
|
value: "empty"
|
|
458
511
|
}, ((_b = navigator.language) == null ? void 0 : _b.includes("CN")) ? "\u7A7A" : "Empty"));
|
|
459
512
|
};
|
|
@@ -473,6 +526,8 @@ function Table(props) {
|
|
|
473
526
|
break;
|
|
474
527
|
default:
|
|
475
528
|
item.render = (value) => processValue(item, value);
|
|
529
|
+
if (!item.onFilter)
|
|
530
|
+
item.onFilter = (value, row) => value === row[item.id];
|
|
476
531
|
break;
|
|
477
532
|
}
|
|
478
533
|
}
|
|
@@ -483,7 +538,7 @@ function Table(props) {
|
|
|
483
538
|
return /* @__PURE__ */ import_react.default.createElement(FaasDataWrapper, {
|
|
484
539
|
dataSource: props.dataSource,
|
|
485
540
|
faasData: props.faasData,
|
|
486
|
-
render: ({ data }) => /* @__PURE__ */ import_react.default.createElement(
|
|
541
|
+
render: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_antd6.Table, __spreadProps(__spreadValues({}, props), {
|
|
487
542
|
rowKey: props.rowKey || "id",
|
|
488
543
|
columns,
|
|
489
544
|
dataSource: data
|
|
@@ -495,8 +550,10 @@ module.exports = __toCommonJS(src_exports);
|
|
|
495
550
|
0 && (module.exports = {
|
|
496
551
|
Blank,
|
|
497
552
|
Description,
|
|
553
|
+
Drawer,
|
|
498
554
|
Form,
|
|
499
555
|
FormItem,
|
|
500
556
|
Table,
|
|
501
|
-
transferOptions
|
|
557
|
+
transferOptions,
|
|
558
|
+
useDrawer
|
|
502
559
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -54,7 +54,10 @@ import {
|
|
|
54
54
|
} from "react";
|
|
55
55
|
|
|
56
56
|
// src/FaasWrapper.tsx
|
|
57
|
-
import {
|
|
57
|
+
import {
|
|
58
|
+
useEffect,
|
|
59
|
+
useState
|
|
60
|
+
} from "react";
|
|
58
61
|
import { getClient } from "@faasjs/react";
|
|
59
62
|
function FaasDataWrapper({
|
|
60
63
|
dataSource,
|
|
@@ -66,13 +69,18 @@ function FaasDataWrapper({
|
|
|
66
69
|
useEffect(() => {
|
|
67
70
|
if (!faasData)
|
|
68
71
|
return;
|
|
69
|
-
getClient().faas(faasData.action, faasData.
|
|
70
|
-
|
|
72
|
+
getClient().faas(faasData.action, faasData.params).then((res) => {
|
|
73
|
+
if (faasData.setData)
|
|
74
|
+
faasData.setData(res.data);
|
|
75
|
+
else
|
|
76
|
+
setData(res.data);
|
|
77
|
+
});
|
|
78
|
+
}, [JSON.stringify([faasData == null ? void 0 : faasData.action, faasData == null ? void 0 : faasData.params])]);
|
|
71
79
|
if (dataSource)
|
|
72
80
|
return render({ data: dataSource });
|
|
73
|
-
if (!data)
|
|
81
|
+
if (!data && !faasData.data)
|
|
74
82
|
return fallback || null;
|
|
75
|
-
return render({ data });
|
|
83
|
+
return render({ data: faasData.data || data });
|
|
76
84
|
}
|
|
77
85
|
|
|
78
86
|
// src/Description.tsx
|
|
@@ -156,11 +164,31 @@ function Description(props) {
|
|
|
156
164
|
});
|
|
157
165
|
}
|
|
158
166
|
|
|
167
|
+
// src/Drawer.tsx
|
|
168
|
+
import { Drawer } from "antd";
|
|
169
|
+
import { useState as useState3 } from "react";
|
|
170
|
+
function useDrawer(init) {
|
|
171
|
+
const [props, setProps] = useState3(__spreadValues({
|
|
172
|
+
visible: false,
|
|
173
|
+
onClose: () => setProps((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
174
|
+
visible: false
|
|
175
|
+
}))
|
|
176
|
+
}, init));
|
|
177
|
+
return {
|
|
178
|
+
drawer: /* @__PURE__ */ React.createElement(Drawer, __spreadValues({}, props)),
|
|
179
|
+
drawerProps: props,
|
|
180
|
+
setDrawerProps(changes) {
|
|
181
|
+
setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
159
186
|
// src/Form.tsx
|
|
160
187
|
import {
|
|
161
188
|
Button as Button2,
|
|
162
189
|
Form as AntdForm2
|
|
163
190
|
} from "antd";
|
|
191
|
+
import { useEffect as useEffect4, useState as useState5 } from "react";
|
|
164
192
|
|
|
165
193
|
// src/FormItem.tsx
|
|
166
194
|
import {
|
|
@@ -174,13 +202,10 @@ import {
|
|
|
174
202
|
Select
|
|
175
203
|
} from "antd";
|
|
176
204
|
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
|
|
177
|
-
import {
|
|
178
|
-
useEffect as useEffect3,
|
|
179
|
-
useState as useState3
|
|
180
|
-
} from "react";
|
|
205
|
+
import { useEffect as useEffect3, useState as useState4 } from "react";
|
|
181
206
|
import { upperFirst as upperFirst3 } from "lodash";
|
|
182
207
|
function FormItem(props) {
|
|
183
|
-
const [computedProps, setComputedProps] =
|
|
208
|
+
const [computedProps, setComputedProps] = useState4();
|
|
184
209
|
useEffect3(() => {
|
|
185
210
|
const propsCopy = __spreadValues({}, props);
|
|
186
211
|
if (!propsCopy.title)
|
|
@@ -319,13 +344,31 @@ function FormItem(props) {
|
|
|
319
344
|
// src/Form.tsx
|
|
320
345
|
function Form(props) {
|
|
321
346
|
var _a2, _b;
|
|
322
|
-
|
|
347
|
+
const [loading, setLoading] = useState5(false);
|
|
348
|
+
const [computedProps, setComputedProps] = useState5();
|
|
349
|
+
useEffect4(() => {
|
|
350
|
+
const propsCopy = __spreadValues({}, props);
|
|
351
|
+
if (propsCopy.onFinish) {
|
|
352
|
+
propsCopy.onFinish = async (values) => {
|
|
353
|
+
setLoading(true);
|
|
354
|
+
try {
|
|
355
|
+
await propsCopy.onFinish(values);
|
|
356
|
+
} catch (error) {
|
|
357
|
+
console.error(error);
|
|
358
|
+
}
|
|
359
|
+
setLoading(false);
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
setComputedProps(props);
|
|
363
|
+
}, []);
|
|
364
|
+
return /* @__PURE__ */ React.createElement(AntdForm2, __spreadValues({}, computedProps), (_a2 = props.items) == null ? void 0 : _a2.map((item) => /* @__PURE__ */ React.createElement(FormItem, __spreadProps(__spreadValues({
|
|
323
365
|
key: item.id
|
|
324
366
|
}, item), {
|
|
325
367
|
extendTypes: props.extendTypes
|
|
326
368
|
}))), props.children, props.submit !== false && /* @__PURE__ */ React.createElement(Button2, {
|
|
327
369
|
htmlType: "submit",
|
|
328
|
-
type: "primary"
|
|
370
|
+
type: "primary",
|
|
371
|
+
loading
|
|
329
372
|
}, ((_b = props.submit) == null ? void 0 : _b.text) || "Submit"));
|
|
330
373
|
}
|
|
331
374
|
Form.useForm = AntdForm2.useForm;
|
|
@@ -333,8 +376,8 @@ Form.Item = FormItem;
|
|
|
333
376
|
|
|
334
377
|
// src/Table.tsx
|
|
335
378
|
import {
|
|
336
|
-
useState as
|
|
337
|
-
useEffect as
|
|
379
|
+
useState as useState6,
|
|
380
|
+
useEffect as useEffect5,
|
|
338
381
|
cloneElement as cloneElement2
|
|
339
382
|
} from "react";
|
|
340
383
|
import {
|
|
@@ -357,8 +400,8 @@ function processValue(item, value) {
|
|
|
357
400
|
return value;
|
|
358
401
|
}
|
|
359
402
|
function Table(props) {
|
|
360
|
-
const [columns, setColumns] =
|
|
361
|
-
|
|
403
|
+
const [columns, setColumns] = useState6();
|
|
404
|
+
useEffect5(() => {
|
|
362
405
|
var _a2;
|
|
363
406
|
for (const item of props.items) {
|
|
364
407
|
if (!item.key)
|
|
@@ -378,6 +421,8 @@ function Table(props) {
|
|
|
378
421
|
}
|
|
379
422
|
if (item.render)
|
|
380
423
|
continue;
|
|
424
|
+
if (item.children)
|
|
425
|
+
delete item.children;
|
|
381
426
|
if (props.extendTypes && props.extendTypes[item.type]) {
|
|
382
427
|
if (props.extendTypes[item.type].children) {
|
|
383
428
|
item.render = (value, values) => cloneElement2(props.extendTypes[item.type].children, {
|
|
@@ -393,14 +438,20 @@ function Table(props) {
|
|
|
393
438
|
switch (item.type) {
|
|
394
439
|
case "string[]":
|
|
395
440
|
item.render = (value) => processValue(item, value).join(", ");
|
|
441
|
+
if (!item.onFilter)
|
|
442
|
+
item.onFilter = (value, row) => row[item.id].includes(value);
|
|
396
443
|
break;
|
|
397
444
|
case "number":
|
|
398
445
|
item.render = (value) => processValue(item, value);
|
|
399
446
|
if (!item.sorter)
|
|
400
447
|
item.sorter = (a, b) => a[item.id] - b[item.id];
|
|
448
|
+
if (!item.onFilter)
|
|
449
|
+
item.onFilter = (value, row) => value === row[item.id];
|
|
401
450
|
break;
|
|
402
451
|
case "number[]":
|
|
403
452
|
item.render = (value) => processValue(item, value).join(", ");
|
|
453
|
+
if (!item.onFilter)
|
|
454
|
+
item.onFilter = (value, row) => row[item.id].includes(value);
|
|
404
455
|
break;
|
|
405
456
|
case "boolean":
|
|
406
457
|
item.render = (value) => typeof value === "undefined" ? /* @__PURE__ */ React.createElement(Blank, null) : value ? /* @__PURE__ */ React.createElement(CheckOutlined2, {
|
|
@@ -463,6 +514,8 @@ function Table(props) {
|
|
|
463
514
|
break;
|
|
464
515
|
default:
|
|
465
516
|
item.render = (value) => processValue(item, value);
|
|
517
|
+
if (!item.onFilter)
|
|
518
|
+
item.onFilter = (value, row) => value === row[item.id];
|
|
466
519
|
break;
|
|
467
520
|
}
|
|
468
521
|
}
|
|
@@ -483,8 +536,10 @@ function Table(props) {
|
|
|
483
536
|
export {
|
|
484
537
|
Blank,
|
|
485
538
|
Description,
|
|
539
|
+
Drawer,
|
|
486
540
|
Form,
|
|
487
541
|
FormItem,
|
|
488
542
|
Table,
|
|
489
|
-
transferOptions
|
|
543
|
+
transferOptions,
|
|
544
|
+
useDrawer
|
|
490
545
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faasjs/ant-design",
|
|
3
|
-
"version": "0.0.2-beta.
|
|
3
|
+
"version": "0.0.2-beta.350",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"lodash": "*",
|
|
28
28
|
"react": "*",
|
|
29
29
|
"react-dom": "*",
|
|
30
|
-
"@faasjs/react": "^0.0.2-beta.
|
|
30
|
+
"@faasjs/react": "^0.0.2-beta.350"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/lodash": "*",
|