ronds-metadata 1.0.50 → 1.0.53

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/es/api/index.js CHANGED
@@ -6,7 +6,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
6
  /*
7
7
  * @Author:wangxian
8
8
  * @Date: 2021-09-18 14:15:04
9
- * @LastEditTime: 2022-03-28 14:46:33
9
+ * @LastEditTime: 2022-03-28 15:33:19
10
10
  */
11
11
  import { HttpHelper } from '../framework/http';
12
12
  var http = new HttpHelper();
@@ -3,13 +3,12 @@ import _Button from "antd/es/button";
3
3
  import "antd/es/table/style";
4
4
  import _Table from "antd/es/table";
5
5
  import _extends from "@babel/runtime/helpers/esm/extends";
6
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
7
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
8
6
  import "antd/es/message/style";
9
7
  import _message from "antd/es/message";
8
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
9
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
10
10
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
11
11
  import React from 'react';
12
- import { BehaviorSubject } from 'rxjs';
13
12
  import { pick, isArray } from 'lodash';
14
13
  import EditableCell from './comps/EditableCell';
15
14
  import EditableRow from './comps/EditableRow';
@@ -17,6 +16,8 @@ import { EditableContext } from './interface';
17
16
  import EditableAction from './comps/EditableAction';
18
17
  import { isFreeEditRow, removeCurKeyFromEditRow } from './utils';
19
18
  import EditableHeardCell from './comps/EditableHeardCell';
19
+ import useMemoSubject from '../../framework/rxjs-hooks/useMemoSubject';
20
+ import useObservable from '../../framework/rxjs-hooks/useObservable';
20
21
 
21
22
  var Editable = function Editable(props) {
22
23
  var _props$type = props.type,
@@ -78,38 +79,7 @@ var Editable = function Editable(props) {
78
79
  var lastDataSourceRef = React.useRef();
79
80
  var firstLoadRef = React.useRef(true); // 定义处理编辑表格的数据流
80
81
 
81
- var editableStream = React.useMemo(function () {
82
- return new BehaviorSubject(undefined);
83
- }, []);
84
-
85
- var processAddColumnsData = function processAddColumnsData(data) {
86
- var _columns = addColumnsRef.current.length > 0 ? addColumnsRef.current : columns; // 判断key是否重复
87
-
88
-
89
- if (_columns.findIndex(function (v) {
90
- return v.key === data.key;
91
- }) > -1) {
92
- _message.warning('表格的key不可以重复');
93
-
94
- return;
95
- }
96
-
97
- var idx = _columns.findIndex(function (v) {
98
- return v.dataIndex === data.dataIndex;
99
- });
100
-
101
- var obj = {
102
- title: data.title,
103
- key: data.key,
104
- dataIndex: data.key
105
- };
106
-
107
- _columns.splice(idx + 1, 0, _objectSpread(_objectSpread({}, _columns[0]), obj));
108
-
109
- setAddColumns(_toConsumableArray(_columns));
110
- addColumnsRef.current = _columns; // editableStream.next({ type: 'editHeardCellKey', payload: undefined });
111
- };
112
-
82
+ var editableStream = useMemoSubject();
113
83
  var processStreamFactory = React.useCallback(function (data) {
114
84
  switch (data === null || data === void 0 ? void 0 : data.type) {
115
85
  case 'onValuesChange':
@@ -216,7 +186,38 @@ var Editable = function Editable(props) {
216
186
 
217
187
  break;
218
188
  }
219
- }, [type]); // 返回stream的实例
189
+ }, [type]); // 集中处理数据流
190
+
191
+ useObservable(processStreamFactory, [editableStream]);
192
+
193
+ var processAddColumnsData = function processAddColumnsData(data) {
194
+ var _columns = addColumnsRef.current.length > 0 ? addColumnsRef.current : columns; // 判断key是否重复
195
+
196
+
197
+ if (_columns.findIndex(function (v) {
198
+ return v.key === data.key;
199
+ }) > -1) {
200
+ _message.warning('表格的key不可以重复');
201
+
202
+ return;
203
+ }
204
+
205
+ var idx = _columns.findIndex(function (v) {
206
+ return v.dataIndex === data.dataIndex;
207
+ });
208
+
209
+ var obj = {
210
+ title: data.title,
211
+ key: data.key,
212
+ dataIndex: data.key
213
+ };
214
+
215
+ _columns.splice(idx + 1, 0, _objectSpread(_objectSpread({}, _columns[0]), obj));
216
+
217
+ setAddColumns(_toConsumableArray(_columns));
218
+ addColumnsRef.current = _columns; // editableStream.next({ type: 'editHeardCellKey', payload: undefined });
219
+ }; // 返回stream的实例
220
+
220
221
 
221
222
  React.useEffect(function () {
222
223
  if (firstLoadRef && editableStream) {
@@ -230,16 +231,7 @@ var Editable = function Editable(props) {
230
231
  setRecords(_toConsumableArray(dataSource));
231
232
  recordsRef.current = dataSource;
232
233
  }
233
- }, [dataSource]); // 集中处理数据流
234
-
235
- React.useEffect(function () {
236
- var subscription = editableStream.subscribe(function (p) {
237
- processStreamFactory(p);
238
- });
239
- return function () {
240
- return subscription.unsubscribe();
241
- };
242
- }, [editableStream, processStreamFactory]);
234
+ }, [dataSource]);
243
235
  var getEditColumn = React.useCallback(function (column) {
244
236
  var _column = _objectSpread(_objectSpread({}, column), {}, {
245
237
  children: isArray(column === null || column === void 0 ? void 0 : column.children) ? column.children.map(getEditColumn) : undefined
@@ -191,7 +191,8 @@ var MetaFieldsEdit = function MetaFieldsEdit(props) {
191
191
  options: metaType || [],
192
192
  filterOption: function filterOption(input, option) {
193
193
  return (option === null || option === void 0 ? void 0 : option.label.indexOf(input)) >= 0;
194
- }
194
+ },
195
+ allowClear: true
195
196
  })), /*#__PURE__*/React.createElement("div", {
196
197
  style: {
197
198
  lineHeight: '88px',
@@ -169,7 +169,8 @@ var MetaPropsEdit = function MetaPropsEdit(props) {
169
169
  showSearch: true,
170
170
  filterOption: function filterOption(input, option) {
171
171
  return (option === null || option === void 0 ? void 0 : option.label.indexOf(input)) >= 0;
172
- }
172
+ },
173
+ allowClear: true
173
174
  })), /*#__PURE__*/React.createElement("div", {
174
175
  style: {
175
176
  padding: '0 10px'
@@ -189,7 +189,8 @@ function Index(props) {
189
189
  notFoundContent: '没有批到到该实体数据',
190
190
  filterOption: function filterOption(input, option) {
191
191
  return (option === null || option === void 0 ? void 0 : option.label.indexOf(input)) >= 0;
192
- }
192
+ },
193
+ allowClear: true
193
194
  })) : /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {
194
195
  style: {
195
196
  flex: 1,
@@ -214,7 +215,8 @@ function Index(props) {
214
215
  notFoundContent: '没有批到到该实体数据',
215
216
  filterOption: function filterOption(input, option) {
216
217
  return (option === null || option === void 0 ? void 0 : option.label.indexOf(input)) >= 0;
217
- }
218
+ },
219
+ allowClear: true
218
220
  }));
219
221
  }
220
222
 
@@ -0,0 +1,3 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ declare const useMemoSubject: <T>() => BehaviorSubject<T>;
3
+ export default useMemoSubject;
@@ -0,0 +1,20 @@
1
+ /*
2
+ * @Author: wangxian
3
+ * @Date: 2022-03-30 10:12:11
4
+ * @LastEditTime: 2022-03-31 19:23:32
5
+ */
6
+ import React from 'react';
7
+ import { BehaviorSubject } from 'rxjs';
8
+
9
+ var useMemoSubject = function useMemoSubject() {
10
+ var subjectRef$ = React.useRef();
11
+ React.useEffect(function () {
12
+ subjectRef$.current = new BehaviorSubject(undefined);
13
+ return function () {
14
+ subjectRef$.current.complete();
15
+ };
16
+ }, []);
17
+ return subjectRef$.current;
18
+ };
19
+
20
+ export default useMemoSubject;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const useObservable: <T>(fn: Function, dep?: React.DependencyList) => void;
3
+ export default useObservable;
@@ -0,0 +1,20 @@
1
+ /*
2
+ * @Author: wangxian
3
+ * @Date: 2022-03-30 10:12:11
4
+ * @LastEditTime: 2022-03-30 10:52:51
5
+ */
6
+ import React from 'react';
7
+
8
+ var useObservable = function useObservable(fn) {
9
+ var dep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
10
+ React.useEffect(function () {
11
+ var subscription = dep[0] && dep[0].subscribe(function (p) {
12
+ fn(p);
13
+ });
14
+ return function () {
15
+ return subscription && subscription.unsubscribe();
16
+ };
17
+ }, dep);
18
+ };
19
+
20
+ export default useObservable;
package/es/index.d.ts CHANGED
@@ -8,4 +8,6 @@ export { default as MdEditor } from './comps/MdEdit';
8
8
  export { default as Editable } from './comps/Editable';
9
9
  export * from './framework/metadata/index';
10
10
  export { default as http, addInterceptor } from './framework/http/index';
11
+ export { default as useMemoSubject } from './framework/rxjs-hooks/useMemoSubject';
12
+ export { default as useObservable } from './framework/rxjs-hooks/useObservable';
11
13
  export { registerMetadataAPI } from './framework/metadata/MetadataService';
package/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author:wangxian
3
3
  * @Date: 2021-09-18 14:15:04
4
- * @LastEditTime: 2022-03-16 16:51:12
4
+ * @LastEditTime: 2022-03-30 10:55:03
5
5
  */
6
6
  export { default as MetadataEdit } from './comps/MetadataEdit';
7
7
  export { default as MetaPropsEdit } from './comps/MetadataEdit/components/MetaPropsEdit';
@@ -13,4 +13,6 @@ export { default as MdEditor } from './comps/MdEdit';
13
13
  export { default as Editable } from './comps/Editable';
14
14
  export * from './framework/metadata/index';
15
15
  export { default as http, addInterceptor } from './framework/http/index';
16
+ export { default as useMemoSubject } from './framework/rxjs-hooks/useMemoSubject';
17
+ export { default as useObservable } from './framework/rxjs-hooks/useObservable';
16
18
  export { registerMetadataAPI } from './framework/metadata/MetadataService';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.0.50",
4
+ "version": "1.0.53",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",