@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,153 @@
|
|
|
1
|
+
import { type TableProps, type InputProps, type SelectProps, type CascaderProps, type DatePickerProps, type InputNumberProps, type CheckboxProps, type RadioProps, type SwitchProps, type TimePickerProps } from "antd";
|
|
2
|
+
import { type CheckboxGroupProps } from "antd/es/checkbox";
|
|
3
|
+
import { Rule } from "antd/es/form";
|
|
4
|
+
import { TextAreaProps } from "antd/es/input";
|
|
5
|
+
import { type RadioGroupProps } from "antd/es/radio";
|
|
6
|
+
import { RowSelectionType, type ColumnType as AntdColumnType } from "antd/es/table/interface";
|
|
7
|
+
import React from "react";
|
|
8
|
+
export type AnyObject = Record<PropertyKey, any>;
|
|
9
|
+
/**字段列 */
|
|
10
|
+
export interface BaseColumnField<T extends string, O = any> {
|
|
11
|
+
type: T;
|
|
12
|
+
option?: O;
|
|
13
|
+
rules?: Rule[];
|
|
14
|
+
}
|
|
15
|
+
/**输入框 */
|
|
16
|
+
export interface ColumnInputField extends BaseColumnField<"Input", InputProps> {
|
|
17
|
+
}
|
|
18
|
+
/**长文本输入框 */
|
|
19
|
+
export interface ColumnTextAreaField extends BaseColumnField<"TextArea", TextAreaProps> {
|
|
20
|
+
}
|
|
21
|
+
/**数字输入框 */
|
|
22
|
+
export interface ColumnInputNumberField extends BaseColumnField<"InputNumber", InputNumberProps> {
|
|
23
|
+
}
|
|
24
|
+
/**选择器 */
|
|
25
|
+
export interface ColumnSelectField extends BaseColumnField<"Select", SelectProps> {
|
|
26
|
+
}
|
|
27
|
+
/**级联选择 */
|
|
28
|
+
export interface ColumnCascaderField extends BaseColumnField<"Cascader", CascaderProps> {
|
|
29
|
+
}
|
|
30
|
+
/**多选框 */
|
|
31
|
+
export interface ColumnCheckboxField extends BaseColumnField<"Checkbox", CheckboxProps> {
|
|
32
|
+
}
|
|
33
|
+
/**多选框组 */
|
|
34
|
+
export interface ColumnCheckboxGroupField extends BaseColumnField<"Checkbox.Group", CheckboxGroupProps> {
|
|
35
|
+
}
|
|
36
|
+
/**日期选择框 */
|
|
37
|
+
export interface ColumnDatePickerField extends BaseColumnField<"DatePicker", DatePickerProps> {
|
|
38
|
+
}
|
|
39
|
+
/**年选择框 */
|
|
40
|
+
export interface ColumnDatePickerYearPickerField extends BaseColumnField<"DatePicker.YearPicker", DatePickerProps> {
|
|
41
|
+
}
|
|
42
|
+
/**月选择框 */
|
|
43
|
+
export interface ColumnDatePickerMonthPickerField extends BaseColumnField<"DatePicker.MonthPicker", DatePickerProps> {
|
|
44
|
+
}
|
|
45
|
+
/**周选择框 */
|
|
46
|
+
export interface ColumnDatePickerWeekPickerField extends BaseColumnField<"DatePicker.WeekPicker", DatePickerProps> {
|
|
47
|
+
}
|
|
48
|
+
/**时间选择框 */
|
|
49
|
+
export interface ColumnDatePickerTimePickerField extends BaseColumnField<"DatePicker.TimePicker", DatePickerProps> {
|
|
50
|
+
}
|
|
51
|
+
/**时间范围选择框 */
|
|
52
|
+
export interface ColumnDatePickerRangePickerField extends BaseColumnField<"DatePicker.RangePicker", DatePickerProps> {
|
|
53
|
+
}
|
|
54
|
+
/**季度选择框 */
|
|
55
|
+
export interface ColumnDatePickerQuarterPickerField extends BaseColumnField<"DatePicker.QuarterPicker", DatePickerProps> {
|
|
56
|
+
}
|
|
57
|
+
/**时间选择框 */
|
|
58
|
+
export interface ColumnTimePickerField extends BaseColumnField<"TimePicker", TimePickerProps> {
|
|
59
|
+
}
|
|
60
|
+
/**时间范围选择框 */
|
|
61
|
+
export interface ColumnTimePickerRangePickerField extends BaseColumnField<"TimePicker.RangePicker", TimePickerProps> {
|
|
62
|
+
}
|
|
63
|
+
/**单选框 */
|
|
64
|
+
export interface ColumnRadioField extends BaseColumnField<"Radio", RadioProps> {
|
|
65
|
+
}
|
|
66
|
+
/**单选框组 */
|
|
67
|
+
export interface ColumnRadioGroupField extends BaseColumnField<"Radio.Group", RadioGroupProps> {
|
|
68
|
+
}
|
|
69
|
+
/**开关 */
|
|
70
|
+
export interface ColumnSwitchField extends BaseColumnField<"Switch", SwitchProps> {
|
|
71
|
+
}
|
|
72
|
+
export interface CustormColumnField {
|
|
73
|
+
type: React.FC;
|
|
74
|
+
option?: any;
|
|
75
|
+
rules?: Rule[];
|
|
76
|
+
}
|
|
77
|
+
export type ColumnField = ColumnInputField | ColumnTextAreaField | ColumnInputNumberField | ColumnSelectField | ColumnCascaderField | ColumnCheckboxField | ColumnCheckboxGroupField | ColumnDatePickerField | ColumnDatePickerYearPickerField | ColumnDatePickerMonthPickerField | ColumnDatePickerWeekPickerField | ColumnDatePickerTimePickerField | ColumnDatePickerRangePickerField | ColumnDatePickerQuarterPickerField | ColumnTimePickerField | ColumnTimePickerRangePickerField | ColumnRadioField | ColumnRadioGroupField | ColumnSwitchField | CustormColumnField;
|
|
78
|
+
export type ColumnFieldKeys = ColumnInputField["type"] | ColumnTextAreaField["type"] | ColumnInputNumberField["type"] | ColumnSelectField["type"] | ColumnCascaderField["type"] | ColumnCheckboxField["type"] | ColumnCheckboxGroupField["type"] | ColumnDatePickerField["type"] | ColumnDatePickerYearPickerField["type"] | ColumnDatePickerMonthPickerField["type"] | ColumnDatePickerWeekPickerField["type"] | ColumnDatePickerTimePickerField["type"] | ColumnDatePickerRangePickerField["type"] | ColumnDatePickerQuarterPickerField["type"] | ColumnTimePickerField["type"] | ColumnTimePickerRangePickerField["type"] | ColumnRadioField["type"] | ColumnRadioGroupField["type"] | ColumnSwitchField["type"];
|
|
79
|
+
/**列 */
|
|
80
|
+
export interface ColumnType<RecordType = AnyObject> extends Omit<AntdColumnType<RecordType>, "dataIndex" | "title"> {
|
|
81
|
+
dataIndex?: string | string[];
|
|
82
|
+
title: React.ReactNode;
|
|
83
|
+
field?: ColumnFieldKeys | ColumnField | React.FC;
|
|
84
|
+
filter?: boolean | ColumnFieldKeys | ColumnField | React.FC;
|
|
85
|
+
add?: boolean | ColumnFieldKeys | ColumnField | React.FC;
|
|
86
|
+
edit?: boolean | ColumnFieldKeys | ColumnField | React.FC;
|
|
87
|
+
}
|
|
88
|
+
export type Source<RecordType = AnyObject> = {
|
|
89
|
+
sources: RecordType[];
|
|
90
|
+
/**数据总数 */
|
|
91
|
+
total: number;
|
|
92
|
+
/**当前页 */
|
|
93
|
+
page: number;
|
|
94
|
+
/**每页几条 */
|
|
95
|
+
size: number;
|
|
96
|
+
};
|
|
97
|
+
/**获取数据的方法 */
|
|
98
|
+
export type getSourceFunction = <RecordType = AnyObject>(params?: any) => Promise<Source<RecordType>>;
|
|
99
|
+
export interface Selection<RecordType = AnyObject> {
|
|
100
|
+
keys?: React.Key[];
|
|
101
|
+
rows?: RecordType[];
|
|
102
|
+
}
|
|
103
|
+
export type addHandle = (value: any, selection: Selection) => Promise<any>;
|
|
104
|
+
export type addHandleInit = (selection: Selection) => Promise<Record<string, any> | void> | AnyObject | void;
|
|
105
|
+
export type delHandle = (selection: Selection) => Promise<any>;
|
|
106
|
+
export type editHandle = (value: any, selection: Selection) => Promise<any>;
|
|
107
|
+
export type editHandleInit = (selection: Selection) => Promise<Record<string, any> | void> | AnyObject | void;
|
|
108
|
+
interface HandleMap<T> {
|
|
109
|
+
before: T;
|
|
110
|
+
handle: T;
|
|
111
|
+
after: T;
|
|
112
|
+
}
|
|
113
|
+
export type addHandleMap = Partial<HandleMap<addHandle>> & {
|
|
114
|
+
init?: addHandleInit;
|
|
115
|
+
};
|
|
116
|
+
/**新增方法 */
|
|
117
|
+
export type add = addHandle | addHandleMap;
|
|
118
|
+
/**删除方法 */
|
|
119
|
+
export type del = delHandle | Partial<HandleMap<delHandle>>;
|
|
120
|
+
export type editHandleMap = Partial<HandleMap<editHandle> & {
|
|
121
|
+
init?: editHandleInit;
|
|
122
|
+
}>;
|
|
123
|
+
/**编辑方法 */
|
|
124
|
+
export type edit = editHandle | editHandleMap;
|
|
125
|
+
export interface CustomActionGroup {
|
|
126
|
+
add?: boolean | React.FC;
|
|
127
|
+
del?: boolean | React.FC;
|
|
128
|
+
edit?: boolean | React.FC;
|
|
129
|
+
}
|
|
130
|
+
export interface RecordCustomActionGroup extends CustomActionGroup {
|
|
131
|
+
}
|
|
132
|
+
export interface MasterCustomActionGroup extends CustomActionGroup {
|
|
133
|
+
}
|
|
134
|
+
export interface CustomAction {
|
|
135
|
+
master?: boolean | React.FC | (React.FC)[] | MasterCustomActionGroup;
|
|
136
|
+
record?: boolean | React.FC | (React.FC)[] | RecordCustomActionGroup;
|
|
137
|
+
}
|
|
138
|
+
/**操作 */
|
|
139
|
+
export type Action = boolean | React.FC | React.FC[] | CustomAction;
|
|
140
|
+
/**主体参数 */
|
|
141
|
+
export interface ContentProps<RecordType = AnyObject> extends Omit<TableProps<RecordType>, "columns" | "pagination" | "dataSource" | "loading" | "rowSelection"> {
|
|
142
|
+
columns?: ColumnType<RecordType>[];
|
|
143
|
+
getSources?: getSourceFunction;
|
|
144
|
+
add?: add;
|
|
145
|
+
del?: del;
|
|
146
|
+
edit?: edit;
|
|
147
|
+
action?: Action;
|
|
148
|
+
rowSelection?: RowSelectionType;
|
|
149
|
+
}
|
|
150
|
+
/**主体暴露 */
|
|
151
|
+
export interface ContentRef {
|
|
152
|
+
}
|
|
153
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@magicbe/antd-crud",
|
|
3
|
+
"version": "0.0.13",
|
|
4
|
+
"description": "antd crud table",
|
|
5
|
+
"author": "wang quan",
|
|
6
|
+
"private": false,
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"module": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"Component",
|
|
13
|
+
"UI",
|
|
14
|
+
"React"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "http://www.wangquan.top",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public",
|
|
22
|
+
"registry": "https://registry.npmjs.org/"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@ant-design/icons": "^5.4.0",
|
|
26
|
+
"@emotion/css": "^11.13.0",
|
|
27
|
+
"antd": "5.18.3",
|
|
28
|
+
"deepmerge": "^4.3.1",
|
|
29
|
+
"lodash": "^4.17.21",
|
|
30
|
+
"react": "^18.2.0",
|
|
31
|
+
"react-dom": "^18.2.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@storybook/addon-actions": "^6.5.15",
|
|
35
|
+
"@storybook/addon-essentials": "^6.5.15",
|
|
36
|
+
"@storybook/addon-interactions": "^6.5.15",
|
|
37
|
+
"@storybook/addon-links": "^6.5.15",
|
|
38
|
+
"@storybook/builder-webpack5": "^6.5.15",
|
|
39
|
+
"@storybook/manager-webpack5": "^6.5.15",
|
|
40
|
+
"@storybook/node-logger": "^6.5.15",
|
|
41
|
+
"@storybook/react": "6.5.15",
|
|
42
|
+
"@types/lodash": "^4.17.7",
|
|
43
|
+
"@types/node": "^16.18.10",
|
|
44
|
+
"@types/react": "^18.0.26",
|
|
45
|
+
"@types/react-dom": "^18.0.9",
|
|
46
|
+
"http-proxy-middleware": "^3.0.0",
|
|
47
|
+
"react-scripts": "^5.0.1",
|
|
48
|
+
"typescript": "^4.9.4"
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"lint": "eslint --ext js,ts,tsx src --max-warnings 5",
|
|
52
|
+
"build": "tsc -p tsconfig.build.json",
|
|
53
|
+
"storybook": "start-storybook -p 6007 -s public",
|
|
54
|
+
"build-storybook": "build-storybook -s public"
|
|
55
|
+
},
|
|
56
|
+
"husky": {
|
|
57
|
+
"hooks": {
|
|
58
|
+
"pre-commit": "yarn lint"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|