ronds-metadata 1.2.18 → 1.2.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,13 +2,15 @@ import "antd/es/form/style";
2
2
  import _Form from "antd/es/form";
3
3
  import "antd/es/select/style";
4
4
  import _Select from "antd/es/select";
5
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
6
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
8
  var _excluded = ["dataIndex", "mode", "disabled"];
7
9
 
8
10
  /*
9
11
  * @Author: wangxian
10
12
  * @Date: 2022-03-04 14:53:50
11
- * @LastEditTime: 2022-10-10 13:47:12
13
+ * @LastEditTime: 2023-03-07 16:05:56
12
14
  */
13
15
  import React from 'react';
14
16
  import { EditableContext } from '../interface';
@@ -22,6 +24,18 @@ function Index(props) {
22
24
  var _ref = React.useContext(EditableContext) || undefined,
23
25
  editConfig = _ref.editConfig;
24
26
 
27
+ var _React$useState = React.useState([]),
28
+ _React$useState2 = _slicedToArray(_React$useState, 2),
29
+ options = _React$useState2[0],
30
+ setOptions = _React$useState2[1];
31
+
32
+ React.useEffect(function () {
33
+ if (restProps.enum) {
34
+ Promise.resolve(restProps.enum).then(function (value) {
35
+ setOptions(_toConsumableArray(value));
36
+ });
37
+ }
38
+ }, [restProps === null || restProps === void 0 ? void 0 : restProps.enum]);
25
39
  return /*#__PURE__*/React.createElement(_Form.Item, {
26
40
  name: dataIndex,
27
41
  style: {
@@ -41,7 +55,7 @@ function Index(props) {
41
55
  width: '100%'
42
56
  },
43
57
  size: "small",
44
- options: restProps.enum
58
+ options: options
45
59
  }));
46
60
  }
47
61
 
@@ -84,7 +84,10 @@ function Index(props) {
84
84
  background: '#fff'
85
85
  }
86
86
  }, help || (items === null || items === void 0 ? void 0 : items.type)))), /*#__PURE__*/React.createElement(_Col, {
87
- flex: labelSpan && (formContext === null || formContext === void 0 ? void 0 : formContext.layout) === 'horizontal' ? "0 0 ".concat((24 - labelSpan) * 100 / 24, "%") : 1
87
+ flex: labelSpan && (formContext === null || formContext === void 0 ? void 0 : formContext.layout) === 'horizontal' ? "0 0 ".concat((24 - labelSpan) * 100 / 24, "%") : 1,
88
+ style: {
89
+ width: "".concat((24 - labelSpan) * 100 / 24, "%")
90
+ }
88
91
  }, extraInfo.layout === 'table' && items.type === 'ref' ? /*#__PURE__*/React.createElement(TableArray, {
89
92
  initValue: formContext.initialValues,
90
93
  initEnumValue: initEnumValue,
@@ -34,7 +34,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
34
34
  /*
35
35
  * @Author:wangxian
36
36
  * @Date: 2021-09-18 14:15:04
37
- * @LastEditTime: 2023-03-07 08:29:13
37
+ * @LastEditTime: 2023-03-07 15:10:14
38
38
  */
39
39
  import React from 'react';
40
40
  import { MetadataFormContext, MetadataRefContext } from '../interface';
@@ -452,8 +452,8 @@ function Index(props) {
452
452
  treeData: treeData,
453
453
  allowClear: true,
454
454
  disabled: (_extraInfo$disabled2 = extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.disabled) !== null && _extraInfo$disabled2 !== void 0 ? _extraInfo$disabled2 : disabled,
455
- placeholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.placeholder,
456
- treeDefaultExpandAll: true,
455
+ placeholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.placeholder // treeDefaultExpandAll
456
+ ,
457
457
  maxTagCount: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagCount,
458
458
  maxTagTextLength: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagTextLength,
459
459
  maxTagPlaceholder: "..."
@@ -204,8 +204,54 @@ var TableArray = function TableArray(props) {
204
204
  firstLoadRef.current = false;
205
205
  }
206
206
  }, [initValue, form]);
207
+ var getEnumDataByUrl = React.useCallback( /*#__PURE__*/function () {
208
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(http) {
209
+ var server, _url, res, _res;
210
+
211
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
212
+ while (1) {
213
+ switch (_context2.prev = _context2.next) {
214
+ case 0:
215
+ server = new MetadataService();
216
+ _url = http.url;
217
+ _context2.next = 4;
218
+ return server.GetEnumDataByUrl(_url, http.method, (http === null || http === void 0 ? void 0 : http.body) && JSON.parse(http === null || http === void 0 ? void 0 : http.body));
219
+
220
+ case 4:
221
+ res = _context2.sent;
222
+ _res = (res === null || res === void 0 ? void 0 : res.total) ? res === null || res === void 0 ? void 0 : res.list : res;
223
+
224
+ if (!(_res && _res.length > 0)) {
225
+ _context2.next = 10;
226
+ break;
227
+ }
228
+
229
+ return _context2.abrupt("return", _res.map(function (it) {
230
+ return {
231
+ value: it[(http === null || http === void 0 ? void 0 : http.key) || 'id'],
232
+ label: it[(http === null || http === void 0 ? void 0 : http.value) || 'name'],
233
+ disabled: false
234
+ };
235
+ }));
236
+
237
+ case 10:
238
+ console.warn("".concat(_url, " is not return success result"));
239
+ return _context2.abrupt("return", []);
240
+
241
+ case 12:
242
+ case "end":
243
+ return _context2.stop();
244
+ }
245
+ }
246
+ }, _callee2);
247
+ }));
248
+
249
+ return function (_x3) {
250
+ return _ref2.apply(this, arguments);
251
+ };
252
+ }(), []);
207
253
  var processEnumData = React.useCallback(function (data, _extraInfo) {
208
- var _extraInfo$enum;
254
+ var _extraInfo$enum, _extraInfo$enum3;
209
255
 
210
256
  var _options = [];
211
257
 
@@ -216,6 +262,13 @@ var TableArray = function TableArray(props) {
216
262
  var _extraInfo$enum2;
217
263
 
218
264
  _enum = deepClone(_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum2 = _extraInfo.enum) === null || _extraInfo$enum2 === void 0 ? void 0 : _extraInfo$enum2.value);
265
+ } // 从接口拿数据
266
+
267
+
268
+ if (_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum3 = _extraInfo.enum) === null || _extraInfo$enum3 === void 0 ? void 0 : _extraInfo$enum3.http) {
269
+ var _extraInfo$enum4;
270
+
271
+ return getEnumDataByUrl(deepClone(_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum4 = _extraInfo.enum) === null || _extraInfo$enum4 === void 0 ? void 0 : _extraInfo$enum4.http));
219
272
  } // 目前是更具那么的id判断的,暂未考虑重名问题
220
273
 
221
274
 
@@ -249,7 +302,7 @@ var TableArray = function TableArray(props) {
249
302
  var _columns = [];
250
303
 
251
304
  for (var i = 0; i < _properties.length; i++) {
252
- var _extraInfo$common;
305
+ var _extraInfo$common, _extraInfo$enum5;
253
306
 
254
307
  var it = _properties[i];
255
308
  var extraInfo = refFieldsRef.current.get(it.id);
@@ -260,7 +313,8 @@ var TableArray = function TableArray(props) {
260
313
  width: processColumnType(it, extraInfo) === 'buttonCell' ? 25 : 50,
261
314
  editable: !(extraInfo === null || extraInfo === void 0 ? void 0 : (_extraInfo$common = extraInfo.common) === null || _extraInfo$common === void 0 ? void 0 : _extraInfo$common.disabled),
262
315
  type: processColumnType(it, extraInfo),
263
- enum: it.type === 'enum' ? processEnumData(it, extraInfo) : undefined
316
+ enum: it.type === 'enum' ? processEnumData(it, extraInfo) : undefined,
317
+ mode: (extraInfo === null || extraInfo === void 0 ? void 0 : (_extraInfo$enum5 = extraInfo.enum) === null || _extraInfo$enum5 === void 0 ? void 0 : _extraInfo$enum5.isMutiple) ? 'multiple' : undefined
264
318
  };
265
319
 
266
320
  _columns.push(obj);
@@ -27,6 +27,12 @@
27
27
  background-color: var(--card-bg);
28
28
  z-index: 1000;
29
29
  }
30
+ .ant-select-tree-indent {
31
+ .ant-select-tree-indent-unit {
32
+ width: 10px !important;
33
+ }
34
+ }
35
+
30
36
  /* .ant-col-2.7 {
31
37
  display: block;
32
38
  flex: 0 0 75%;
@@ -38,8 +38,17 @@ interface IMetadataFormProps {
38
38
  * 一行占多少个表单
39
39
  */
40
40
  colSpan?: number;
41
+ /**
42
+ * label占比
43
+ */
41
44
  labelSpan?: number;
45
+ /**
46
+ * label是否换行
47
+ */
42
48
  labelWrap?: boolean;
49
+ /**
50
+ * label的布局
51
+ */
43
52
  layout?: 'vertical' | 'horizontal';
44
53
  /**
45
54
  * 获取表单的实例
@@ -70,7 +70,7 @@ var MetadataForm = function MetadataForm(props) {
70
70
  var firstLoadValue = React.useRef(true);
71
71
  var stream$ = useMemoSubject();
72
72
  var processStreamEvent = React.useCallback(function (p) {
73
- var _p$payload, _p$payload2;
73
+ var _p$payload;
74
74
 
75
75
  switch (p === null || p === void 0 ? void 0 : p.type) {
76
76
  case STREAM_EVENT_TYPE.ON_SELECT_CHANGE:
@@ -82,7 +82,12 @@ var MetadataForm = function MetadataForm(props) {
82
82
  break;
83
83
 
84
84
  case STREAM_EVENT_TYPE.ON_VALUES_CHANGE:
85
- onValuesChange && onValuesChange(p === null || p === void 0 ? void 0 : (_p$payload = p.payload) === null || _p$payload === void 0 ? void 0 : _p$payload.val, p === null || p === void 0 ? void 0 : (_p$payload2 = p.payload) === null || _p$payload2 === void 0 ? void 0 : _p$payload2.allVals);
85
+ if (!(p === null || p === void 0 ? void 0 : (_p$payload = p.payload) === null || _p$payload === void 0 ? void 0 : _p$payload.trigger)) {
86
+ var _p$payload2, _p$payload3;
87
+
88
+ onValuesChange && onValuesChange(p === null || p === void 0 ? void 0 : (_p$payload2 = p.payload) === null || _p$payload2 === void 0 ? void 0 : _p$payload2.val, p === null || p === void 0 ? void 0 : (_p$payload3 = p.payload) === null || _p$payload3 === void 0 ? void 0 : _p$payload3.allVals);
89
+ }
90
+
86
91
  break;
87
92
  }
88
93
  }, []);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.2.18",
4
+ "version": "1.2.20",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",