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 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
- debugger;
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,6 @@
1
+ interface IMetaFieldsEditProps {
2
+ defaultValues?: any;
3
+ onChange?: (values: any) => void;
4
+ }
5
+ declare const MetaFieldsEdit: (props: IMetaFieldsEditProps) => JSX.Element;
6
+ export default MetaFieldsEdit;
@@ -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;