ronds-metadata 1.0.36 → 1.0.39
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/README.md +25 -25
- package/es/comps/JsonEdit/index.js +4 -3
- package/es/comps/MetadataEditV2/components/MetaFieldsEdit.d.ts +6 -0
- package/es/comps/MetadataEditV2/components/MetaFieldsEdit.js +237 -0
- package/es/comps/MetadataEditV2/components/MetaPropsEdit.d.ts +12 -0
- package/es/comps/MetadataEditV2/components/MetaPropsEdit.js +367 -0
- package/es/comps/MetadataEditV2/constant/index.d.ts +24 -0
- package/es/comps/MetadataEditV2/constant/index.js +69 -0
- package/es/comps/MetadataEditV2/hooks/index.d.ts +4 -0
- package/es/comps/MetadataEditV2/hooks/index.js +46 -0
- package/es/comps/MetadataEditV2/index.css +11 -0
- package/es/comps/MetadataEditV2/index.d.ts +25 -0
- package/es/comps/MetadataEditV2/index.js +303 -0
- package/es/comps/MetadataEditV2/type.d.ts +20 -0
- package/es/framework/http/cache.js +3 -2
- package/es/framework/http/index.js +2 -2
- package/es/framework/metadata/index.js +2 -2
- package/es/framework/metadata/types.d.ts +87 -87
- package/es/index.d.ts +1 -0
- package/es/index.js +3 -2
- package/package.json +72 -73
package/README.md
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
# ronds-metadata
|
2
|
-
|
3
|
-
# 使用前准备
|
4
|
-
|
5
|
-
在使用之前,推荐学习[容知的元数据规则](http://172.16.0.8:5000/oo/r/634418027609242111)
|
6
|
-
|
7
|
-
# 安装及使用
|
8
|
-
|
9
|
-
## 安装
|
10
|
-
|
11
|
-
```
|
12
|
-
yarn add ronds-metadata
|
13
|
-
```
|
14
|
-
|
15
|
-
## 使用
|
16
|
-
|
17
|
-
### 引入所需组件
|
18
|
-
|
19
|
-
在代码中 import 需要的组件并按照文档说明使用
|
20
|
-
|
21
|
-
```
|
22
|
-
import { MetadataFrom, MetadataEdit, JsonView, JsonEdit } from 'ronds-metadata';
|
23
|
-
|
24
|
-
import { JsonMetadataProvider } from 'ronds-metadata/es/framework/metadata/index';
|
25
|
-
```
|
1
|
+
# ronds-metadata
|
2
|
+
|
3
|
+
# 使用前准备
|
4
|
+
|
5
|
+
在使用之前,推荐学习[容知的元数据规则](http://172.16.0.8:5000/oo/r/634418027609242111)
|
6
|
+
|
7
|
+
# 安装及使用
|
8
|
+
|
9
|
+
## 安装
|
10
|
+
|
11
|
+
```
|
12
|
+
yarn add ronds-metadata
|
13
|
+
```
|
14
|
+
|
15
|
+
## 使用
|
16
|
+
|
17
|
+
### 引入所需组件
|
18
|
+
|
19
|
+
在代码中 import 需要的组件并按照文档说明使用
|
20
|
+
|
21
|
+
```
|
22
|
+
import { MetadataFrom, MetadataEdit, JsonView, JsonEdit } from 'ronds-metadata';
|
23
|
+
|
24
|
+
import { JsonMetadataProvider } from 'ronds-metadata/es/framework/metadata/index';
|
25
|
+
```
|
@@ -87,7 +87,7 @@ var SqlEdit = function SqlEdit(props) {
|
|
87
87
|
tabSize: 4,
|
88
88
|
mode: mode,
|
89
89
|
theme: theme,
|
90
|
-
readOnly: readOnly,
|
90
|
+
readOnly: readOnly ? 'nocursor' : readOnly,
|
91
91
|
lineNumbers: isLineNumbers,
|
92
92
|
lineWrapping: true,
|
93
93
|
foldGutter: true,
|
@@ -128,12 +128,13 @@ var SqlEdit = function SqlEdit(props) {
|
|
128
128
|
|
129
129
|
if (value) {
|
130
130
|
editorRef.current.setValue(value);
|
131
|
+
editorRef.current.focus();
|
132
|
+
editorRef.current.setCursor(editorRef.current.lineCount(), 0);
|
131
133
|
}
|
132
134
|
}, [value]);
|
133
135
|
React.useEffect(function () {
|
134
136
|
if (!editorRef.current) return;
|
135
|
-
|
136
|
-
editorRef.current.setOption('readOnly', readOnly);
|
137
|
+
editorRef.current.setOption('readOnly', readOnly ? 'nocursor' : readOnly);
|
137
138
|
editorRef.current.setOption('lineNumbers', isLineNumbers);
|
138
139
|
editorRef.current.setOption('gutters', isGutters ? ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'] : []);
|
139
140
|
}, [readOnly, isLineNumbers, isGutters]);
|
@@ -0,0 +1,237 @@
|
|
1
|
+
import "antd/es/button/style";
|
2
|
+
import _Button from "antd/es/button";
|
3
|
+
import "antd/es/switch/style";
|
4
|
+
import _Switch from "antd/es/switch";
|
5
|
+
import "antd/es/input-number/style";
|
6
|
+
import _InputNumber from "antd/es/input-number";
|
7
|
+
import "antd/es/select/style";
|
8
|
+
import _Select from "antd/es/select";
|
9
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
10
|
+
import "antd/es/input/style";
|
11
|
+
import _Input from "antd/es/input";
|
12
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
13
|
+
import "antd/es/form/style";
|
14
|
+
import _Form from "antd/es/form";
|
15
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
16
|
+
import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
|
17
|
+
import React from 'react';
|
18
|
+
import { RULE_TYPES_OPTIONS } from '../constant';
|
19
|
+
import { useMetaType } from '../hooks';
|
20
|
+
import MetadataForm from '../../MetadataForm';
|
21
|
+
|
22
|
+
var MetaFieldsEdit = function MetaFieldsEdit(props) {
|
23
|
+
var defaultValues = props.defaultValues,
|
24
|
+
onChange = props.onChange;
|
25
|
+
|
26
|
+
var _Form$useForm = _Form.useForm(),
|
27
|
+
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
28
|
+
form = _Form$useForm2[0];
|
29
|
+
|
30
|
+
var _React$useState = React.useState({}),
|
31
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
32
|
+
ruleTypes = _React$useState2[0],
|
33
|
+
setRuleTypes = _React$useState2[1];
|
34
|
+
|
35
|
+
var _React$useState3 = React.useState({}),
|
36
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
37
|
+
refIds = _React$useState4[0],
|
38
|
+
setRefIds = _React$useState4[1];
|
39
|
+
|
40
|
+
var _React$useState5 = React.useState({}),
|
41
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
42
|
+
refValues = _React$useState6[0],
|
43
|
+
setRefValues = _React$useState6[1];
|
44
|
+
|
45
|
+
var metaType = useMetaType('扩展规则');
|
46
|
+
React.useEffect(function () {
|
47
|
+
if (defaultValues) {
|
48
|
+
// console.log('defaultValues', defaultValues);
|
49
|
+
form.setFieldsValue({
|
50
|
+
fields: defaultValues
|
51
|
+
});
|
52
|
+
var _ruleTypes = ruleTypes;
|
53
|
+
var _refIds = refIds;
|
54
|
+
|
55
|
+
for (var i = 0; i < defaultValues.length; i++) {
|
56
|
+
_ruleTypes[i] = defaultValues[i].type;
|
57
|
+
|
58
|
+
if (defaultValues[i].type === 'ref') {
|
59
|
+
_refIds[i] = defaultValues[i].refId;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
setRefIds(_objectSpread({}, _refIds));
|
64
|
+
setRuleTypes(_objectSpread({}, _ruleTypes));
|
65
|
+
}
|
66
|
+
}, [defaultValues, form]);
|
67
|
+
|
68
|
+
var onFinish = function onFinish(values) {
|
69
|
+
var _fields = values.fields;
|
70
|
+
|
71
|
+
for (var i = 0; i < _fields.length; i++) {
|
72
|
+
if (_fields[i].type === 'ref') {
|
73
|
+
_fields[i].value = refValues[i] || _fields[i].value;
|
74
|
+
}
|
75
|
+
} // console.log('_fields', _fields);
|
76
|
+
|
77
|
+
|
78
|
+
onChange && onChange(_fields);
|
79
|
+
};
|
80
|
+
|
81
|
+
var onRefRulesValuesChange = function onRefRulesValuesChange(values, idx) {
|
82
|
+
// console.log('onRefRulesValuesChange', values, refValues);
|
83
|
+
var _refValues = refValues;
|
84
|
+
_refValues[idx] = _refValues[idx] ? _objectSpread(_objectSpread({}, _refValues[idx]), values) : _objectSpread({}, values);
|
85
|
+
setRefValues(_objectSpread({}, _refValues));
|
86
|
+
};
|
87
|
+
|
88
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form, {
|
89
|
+
className: "metadata-edit",
|
90
|
+
style: {
|
91
|
+
position: 'relative'
|
92
|
+
},
|
93
|
+
form: form,
|
94
|
+
name: "control-hooks",
|
95
|
+
onFinish: onFinish
|
96
|
+
}, /*#__PURE__*/React.createElement("div", {
|
97
|
+
style: {
|
98
|
+
padding: '10px'
|
99
|
+
}
|
100
|
+
}, /*#__PURE__*/React.createElement(_Form.List, {
|
101
|
+
name: "fields"
|
102
|
+
}, function (fields, _ref) {
|
103
|
+
var add = _ref.add,
|
104
|
+
remove = _ref.remove;
|
105
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, fields.map(function (field, index) {
|
106
|
+
var _defaultValues$index;
|
107
|
+
|
108
|
+
// console.log('fields=========', fields);
|
109
|
+
return /*#__PURE__*/React.createElement("div", {
|
110
|
+
key: field.key
|
111
|
+
}, /*#__PURE__*/React.createElement("div", {
|
112
|
+
style: {
|
113
|
+
display: 'flex',
|
114
|
+
alignItems: 'flex-start'
|
115
|
+
}
|
116
|
+
}, /*#__PURE__*/React.createElement(_Form.Item, _extends({
|
117
|
+
className: "pr-10"
|
118
|
+
}, field, {
|
119
|
+
label: "\u89C4\u5219\u540D\u79F0",
|
120
|
+
name: [field.name, 'id'],
|
121
|
+
fieldKey: [field.fieldKey, 'id'],
|
122
|
+
rules: [{
|
123
|
+
required: true
|
124
|
+
}]
|
125
|
+
}), /*#__PURE__*/React.createElement(_Input, {
|
126
|
+
style: {
|
127
|
+
width: '120px'
|
128
|
+
}
|
129
|
+
})), /*#__PURE__*/React.createElement(_Form.Item, _extends({
|
130
|
+
className: "pr-10"
|
131
|
+
}, field, {
|
132
|
+
label: "\u89C4\u5219\u7C7B\u578B",
|
133
|
+
name: [field.name, 'type'],
|
134
|
+
fieldKey: [field.fieldKey, 'type'],
|
135
|
+
rules: [{
|
136
|
+
required: true
|
137
|
+
}]
|
138
|
+
}), /*#__PURE__*/React.createElement(_Select, {
|
139
|
+
style: {
|
140
|
+
width: '120px'
|
141
|
+
},
|
142
|
+
onChange: function onChange(value) {
|
143
|
+
var _ruleTypes = ruleTypes;
|
144
|
+
_ruleTypes[index] = value;
|
145
|
+
setRuleTypes(_objectSpread({}, _ruleTypes));
|
146
|
+
},
|
147
|
+
options: RULE_TYPES_OPTIONS
|
148
|
+
})), ruleTypes[index] === 'text' && /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {
|
149
|
+
label: "\u89C4\u5219\u503C",
|
150
|
+
name: [field.name, 'value'],
|
151
|
+
fieldKey: [field.fieldKey, 'value'],
|
152
|
+
rules: [{
|
153
|
+
required: true
|
154
|
+
}]
|
155
|
+
}), /*#__PURE__*/React.createElement(_Input, {
|
156
|
+
style: {
|
157
|
+
width: '120px'
|
158
|
+
}
|
159
|
+
})), ruleTypes[index] === 'number' && /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {
|
160
|
+
label: "\u89C4\u5219\u503C",
|
161
|
+
name: [field.name, 'value'],
|
162
|
+
fieldKey: [field.fieldKey, 'value'],
|
163
|
+
rules: [{
|
164
|
+
required: true
|
165
|
+
}]
|
166
|
+
}), /*#__PURE__*/React.createElement(_InputNumber, {
|
167
|
+
style: {
|
168
|
+
width: '120px'
|
169
|
+
}
|
170
|
+
})), ruleTypes[index] === 'bool' && /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {
|
171
|
+
label: "\u89C4\u5219\u503C",
|
172
|
+
name: [field.name, 'value'],
|
173
|
+
fieldKey: [field.fieldKey, 'value'],
|
174
|
+
rules: [{
|
175
|
+
required: true
|
176
|
+
}]
|
177
|
+
}), /*#__PURE__*/React.createElement(_Switch, null)), ruleTypes[index] === 'ref' && /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {
|
178
|
+
label: "Ref",
|
179
|
+
name: [field.name, 'refId'],
|
180
|
+
fieldKey: [field.fieldKey, 'refId'],
|
181
|
+
rules: [{
|
182
|
+
required: true
|
183
|
+
}]
|
184
|
+
}), /*#__PURE__*/React.createElement(_Select, {
|
185
|
+
style: {
|
186
|
+
width: '120px'
|
187
|
+
},
|
188
|
+
onChange: function onChange(value) {
|
189
|
+
var _refIds = refIds;
|
190
|
+
_refIds[index] = value;
|
191
|
+
setRefIds(_objectSpread({}, _refIds));
|
192
|
+
var newData = form.getFieldValue('fields'); // console.log('newData', newData);
|
193
|
+
|
194
|
+
newData[index].id = value;
|
195
|
+
form.setFieldsValue({
|
196
|
+
fields: newData
|
197
|
+
});
|
198
|
+
},
|
199
|
+
options: metaType || []
|
200
|
+
})), /*#__PURE__*/React.createElement("div", {
|
201
|
+
style: {
|
202
|
+
lineHeight: '88px',
|
203
|
+
paddingLeft: '15px'
|
204
|
+
}
|
205
|
+
}, /*#__PURE__*/React.createElement(MinusCircleOutlined, {
|
206
|
+
onClick: function onClick() {
|
207
|
+
return remove(field.name);
|
208
|
+
}
|
209
|
+
}))), refIds[index] && /*#__PURE__*/React.createElement("div", {
|
210
|
+
style: {
|
211
|
+
border: '1px solid #d9d9d9',
|
212
|
+
padding: '10px',
|
213
|
+
marginBottom: '10px'
|
214
|
+
}
|
215
|
+
}, /*#__PURE__*/React.createElement(MetadataForm, {
|
216
|
+
initialValues: defaultValues && defaultValues.length > 0 && ((_defaultValues$index = defaultValues[index]) === null || _defaultValues$index === void 0 ? void 0 : _defaultValues$index.value),
|
217
|
+
refId: refIds[index],
|
218
|
+
onValuesChange: function onValuesChange(values, allValues) {
|
219
|
+
onRefRulesValuesChange(allValues, index);
|
220
|
+
}
|
221
|
+
})));
|
222
|
+
}), /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Button, {
|
223
|
+
type: "dashed",
|
224
|
+
onClick: function onClick() {
|
225
|
+
return add();
|
226
|
+
},
|
227
|
+
block: true,
|
228
|
+
icon: /*#__PURE__*/React.createElement(PlusOutlined, null)
|
229
|
+
}, "\u6DFB\u52A0\u6269\u5C55\u89C4\u5219")));
|
230
|
+
}), /*#__PURE__*/React.createElement(_Form.Item, null, /*#__PURE__*/React.createElement(_Button, {
|
231
|
+
type: "primary",
|
232
|
+
block: true,
|
233
|
+
htmlType: "submit"
|
234
|
+
}, "\u786E\u5B9A")))));
|
235
|
+
};
|
236
|
+
|
237
|
+
export default MetaFieldsEdit;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { FormInstance } from 'antd/lib/form';
|
2
|
+
interface IMetaPropsEditProps {
|
3
|
+
form: FormInstance;
|
4
|
+
id?: string;
|
5
|
+
metadataTag?: string;
|
6
|
+
name: string;
|
7
|
+
isEdit?: boolean;
|
8
|
+
onAddFields?: (idx: number) => void;
|
9
|
+
onNewRefClick?: () => void;
|
10
|
+
}
|
11
|
+
declare const MetaPropsEdit: (props: IMetaPropsEditProps) => JSX.Element;
|
12
|
+
export default MetaPropsEdit;
|