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