@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.
- package/dist/components/Action.d.ts +16 -0
- package/dist/components/Action.js +447 -0
- package/dist/components/Add.d.ts +10 -0
- package/dist/components/Add.js +62 -0
- package/dist/components/Context.d.ts +14 -0
- package/dist/components/Context.js +34 -0
- package/dist/components/Edit.d.ts +10 -0
- package/dist/components/Edit.js +62 -0
- package/dist/components/Field.d.ts +4 -0
- package/dist/components/Field.js +67 -0
- package/dist/components/Filter.d.ts +9 -0
- package/dist/components/Filter.js +72 -0
- package/dist/components/Table.d.ts +24 -0
- package/dist/components/Table.js +509 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +29 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.js +17 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +6 -0
- package/dist/interface.d.ts +153 -0
- package/dist/interface.js +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { Fragment, useMemo } from "react";
|
|
14
|
+
import { isFunction, isObject, isString } from "lodash";
|
|
15
|
+
import { Form, Input, Select, Cascader, Checkbox, DatePicker, InputNumber, Radio, Switch, TimePicker } from "antd";
|
|
16
|
+
/**预设 */
|
|
17
|
+
var presets = {
|
|
18
|
+
"Input": Input,
|
|
19
|
+
"TextArea": Input.TextArea,
|
|
20
|
+
"InputNumber": InputNumber,
|
|
21
|
+
"Select": Select,
|
|
22
|
+
"Cascader": Cascader,
|
|
23
|
+
"Checkbox.Group": Checkbox.Group,
|
|
24
|
+
"Checkbox": Checkbox,
|
|
25
|
+
"DatePicker": DatePicker,
|
|
26
|
+
"DatePicker.YearPicker": DatePicker.YearPicker,
|
|
27
|
+
"DatePicker.MonthPicker": DatePicker.MonthPicker,
|
|
28
|
+
"DatePicker.WeekPicker": DatePicker.WeekPicker,
|
|
29
|
+
"DatePicker.TimePicker": DatePicker.TimePicker,
|
|
30
|
+
"DatePicker.RangePicker": DatePicker.RangePicker,
|
|
31
|
+
"DatePicker.QuarterPicker": DatePicker.QuarterPicker,
|
|
32
|
+
"TimePicker": TimePicker,
|
|
33
|
+
"TimePicker.RangePicker": TimePicker.RangePicker,
|
|
34
|
+
"Radio": Radio,
|
|
35
|
+
"Radio.Group": Radio.Group,
|
|
36
|
+
"Switch": Switch,
|
|
37
|
+
};
|
|
38
|
+
TimePicker.RangePicker;
|
|
39
|
+
var Field = function (props) {
|
|
40
|
+
var field = props.field, dataIndex = props.dataIndex, title = props.title;
|
|
41
|
+
var _a = useMemo(function () {
|
|
42
|
+
var basic = { name: dataIndex, label: title, rules: [] };
|
|
43
|
+
var getNext = function (field) {
|
|
44
|
+
/** 字符串则直接拿预设里面的值 */
|
|
45
|
+
if (isString(field)) {
|
|
46
|
+
return Object.assign(basic, { Component: presets[field] });
|
|
47
|
+
}
|
|
48
|
+
/** 是方法则说明是自定义组件 */
|
|
49
|
+
if (isFunction(field)) {
|
|
50
|
+
return Object.assign(basic, { Component: field });
|
|
51
|
+
}
|
|
52
|
+
/** 是对象则使用有参数的预设 */
|
|
53
|
+
if (isObject(field)) {
|
|
54
|
+
var type = field.type, option_1 = field.option, rules_1 = field.rules;
|
|
55
|
+
if (isString(type)) {
|
|
56
|
+
return Object.assign(basic, { Component: presets[type], option: option_1, rules: rules_1 });
|
|
57
|
+
}
|
|
58
|
+
return Object.assign(basic, { Component: type, option: option_1, rules: rules_1 });
|
|
59
|
+
}
|
|
60
|
+
console.error("field is not implemented");
|
|
61
|
+
return Object.assign(basic, { Component: Fragment });
|
|
62
|
+
};
|
|
63
|
+
return getNext(field);
|
|
64
|
+
}, [field, dataIndex, title]), Component = _a.Component, name = _a.name, label = _a.label, _b = _a.option, option = _b === void 0 ? {} : _b, rules = _a.rules;
|
|
65
|
+
return (_jsx(Form.Item, __assign({ name: name, label: label, rules: rules }, { children: _jsx(Component, __assign({}, option)) })));
|
|
66
|
+
};
|
|
67
|
+
export default Field;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormInstance } from "antd";
|
|
3
|
+
export interface FilterProps {
|
|
4
|
+
}
|
|
5
|
+
export interface FilterRef {
|
|
6
|
+
form: FormInstance;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: React.ForwardRefExoticComponent<FilterProps & React.RefAttributes<FilterRef>>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,72 @@
|
|
|
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 __rest = (this && this.__rest) || function (s, e) {
|
|
17
|
+
var t = {};
|
|
18
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
19
|
+
t[p] = s[p];
|
|
20
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
21
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
23
|
+
t[p[i]] = s[p[i]];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
};
|
|
27
|
+
import { createElement as _createElement } from "react";
|
|
28
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
+
import React, { Fragment, useImperativeHandle } from "react";
|
|
30
|
+
import { useTableContext } from "./Context";
|
|
31
|
+
import Field from "./Field";
|
|
32
|
+
import { Button, Form, Space } from "antd";
|
|
33
|
+
import createEmotion from "@emotion/css/create-instance";
|
|
34
|
+
import { SearchOutlined, UndoOutlined } from "@ant-design/icons";
|
|
35
|
+
import { isObject, isString } from "lodash";
|
|
36
|
+
var _a = createEmotion({ key: "filter" }), css = _a.css, cx = _a.cx;
|
|
37
|
+
var wrapper_css = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-bottom: 25px;\n"], ["\n margin-bottom: 25px;\n"])));
|
|
38
|
+
var Filter = function (_a, ref) {
|
|
39
|
+
var form = Form.useForm()[0];
|
|
40
|
+
var _b = useTableContext(), columns = _b.columns, table_ref = _b.table_ref;
|
|
41
|
+
var filters = columns === null || columns === void 0 ? void 0 : columns.filter(function (_a) {
|
|
42
|
+
var filter = _a.filter;
|
|
43
|
+
return filter;
|
|
44
|
+
}).map(function (_a) {
|
|
45
|
+
var filter = _a.filter, field = _a.field, column = __rest(_a, ["filter", "field"]);
|
|
46
|
+
if (filter === true) {
|
|
47
|
+
return Object.assign(column, { field: field });
|
|
48
|
+
}
|
|
49
|
+
if (isObject(filter)) {
|
|
50
|
+
return Object.assign(column, { field: filter });
|
|
51
|
+
}
|
|
52
|
+
if (isString(filter)) {
|
|
53
|
+
return Object.assign(column, { field: filter });
|
|
54
|
+
}
|
|
55
|
+
return column;
|
|
56
|
+
});
|
|
57
|
+
var onFinish = function (value) {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
if (value === void 0) { value = {}; }
|
|
60
|
+
var params = (_a = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _a === void 0 ? void 0 : _a.getPageData();
|
|
61
|
+
var _c = params || {}, current = _c.current, pageSize = _c.pageSize;
|
|
62
|
+
(_b = table_ref === null || table_ref === void 0 ? void 0 : table_ref.current) === null || _b === void 0 ? void 0 : _b.loadRecords(Object.assign({ current: current, pageSize: pageSize }, value));
|
|
63
|
+
};
|
|
64
|
+
useImperativeHandle(ref, function () { return ({
|
|
65
|
+
form: form,
|
|
66
|
+
}); });
|
|
67
|
+
if (!(filters === null || filters === void 0 ? void 0 : filters.length))
|
|
68
|
+
return _jsx(Fragment, {});
|
|
69
|
+
return (_jsxs(Form, __assign({ layout: "inline", onFinish: onFinish, className: wrapper_css, form: form }, { children: [filters === null || filters === void 0 ? void 0 : filters.map(function (filter) { return _createElement(Field, __assign({}, filter, { key: String(filter.dataIndex) })); }), _jsxs(Space, { children: [_jsxs(Button, __assign({ htmlType: "submit", type: "primary" }, { children: [_jsx(SearchOutlined, {}), "\u67E5\u8BE2"] })), _jsxs(Button, __assign({ htmlType: "reset" }, { children: [_jsx(UndoOutlined, {}), "\u91CD\u7F6E"] }))] })] })));
|
|
70
|
+
};
|
|
71
|
+
export default React.forwardRef(Filter);
|
|
72
|
+
var templateObject_1;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type AnyObject } from "../interface";
|
|
3
|
+
export interface TableProps {
|
|
4
|
+
}
|
|
5
|
+
type getPageData = () => ({
|
|
6
|
+
current?: number;
|
|
7
|
+
pageSize?: number;
|
|
8
|
+
});
|
|
9
|
+
type loadRecords = (params?: any) => void;
|
|
10
|
+
export interface TableRef {
|
|
11
|
+
getPageData: getPageData;
|
|
12
|
+
loadRecords: loadRecords;
|
|
13
|
+
selected_keys: React.Key[];
|
|
14
|
+
selected_rows: AnyObject[];
|
|
15
|
+
}
|
|
16
|
+
declare const _default: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<TableRef>>;
|
|
17
|
+
export default _default;
|
|
18
|
+
interface ActionProps {
|
|
19
|
+
row: AnyObject;
|
|
20
|
+
index: number;
|
|
21
|
+
}
|
|
22
|
+
export declare const AppendAction: React.FC<Partial<ActionProps>>;
|
|
23
|
+
export declare const EditAction: React.FC<Partial<ActionProps>>;
|
|
24
|
+
export declare const DeleteAction: React.FC<Partial<ActionProps>>;
|