ronds-metadata 1.0.41 → 1.0.42

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.
@@ -6,18 +6,26 @@ import _Input from "antd/es/input";
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-03-04 14:53:50
9
- * @LastEditTime: 2022-03-04 15:56:22
9
+ * @LastEditTime: 2022-03-08 14:16:12
10
10
  */
11
11
  import React from 'react';
12
+ import { EditableContext } from '../interface';
12
13
 
13
14
  function Index(props) {
14
- var dataIndex = props.dataIndex;
15
+ var dataIndex = props.dataIndex,
16
+ disabled = props.disabled;
17
+
18
+ var _ref = React.useContext(EditableContext) || undefined,
19
+ editConfig = _ref.editConfig;
20
+
15
21
  return /*#__PURE__*/React.createElement(_Form.Item, {
16
22
  name: dataIndex,
17
23
  style: {
18
24
  margin: 0
19
25
  }
20
- }, /*#__PURE__*/React.createElement(_Input, null));
26
+ }, /*#__PURE__*/React.createElement(_Input, {
27
+ disabled: editConfig.type === 'edit' ? disabled : false
28
+ }));
21
29
  }
22
30
 
23
31
  export default /*#__PURE__*/React.memo(Index);
@@ -6,18 +6,26 @@ import _InputNumber from "antd/es/input-number";
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-03-04 14:53:50
9
- * @LastEditTime: 2022-03-04 14:57:57
9
+ * @LastEditTime: 2022-03-08 14:16:01
10
10
  */
11
11
  import React from 'react';
12
+ import { EditableContext } from '../interface';
12
13
 
13
14
  function Index(props) {
14
- var dataIndex = props.dataIndex;
15
+ var dataIndex = props.dataIndex,
16
+ disabled = props.disabled;
17
+
18
+ var _ref = React.useContext(EditableContext) || undefined,
19
+ editConfig = _ref.editConfig;
20
+
15
21
  return /*#__PURE__*/React.createElement(_Form.Item, {
16
22
  name: dataIndex,
17
23
  style: {
18
24
  margin: 0
19
25
  }
20
- }, /*#__PURE__*/React.createElement(_InputNumber, null));
26
+ }, /*#__PURE__*/React.createElement(_InputNumber, {
27
+ disabled: editConfig.type === 'edit' ? disabled : false
28
+ }));
21
29
  }
22
30
 
23
31
  export default /*#__PURE__*/React.memo(Index);
@@ -3,25 +3,31 @@ import _Form from "antd/es/form";
3
3
  import "antd/es/select/style";
4
4
  import _Select from "antd/es/select";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- var _excluded = ["dataIndex"];
6
+ var _excluded = ["dataIndex", "disabled"];
7
7
 
8
8
  /*
9
9
  * @Author: wangxian
10
10
  * @Date: 2022-03-04 14:53:50
11
- * @LastEditTime: 2022-03-05 08:27:55
11
+ * @LastEditTime: 2022-03-08 14:14:18
12
12
  */
13
13
  import React from 'react';
14
+ import { EditableContext } from '../interface';
14
15
 
15
16
  function Index(props) {
16
17
  var dataIndex = props.dataIndex,
18
+ disabled = props.disabled,
17
19
  restProps = _objectWithoutProperties(props, _excluded);
18
20
 
21
+ var _ref = React.useContext(EditableContext) || undefined,
22
+ editConfig = _ref.editConfig;
23
+
19
24
  return /*#__PURE__*/React.createElement(_Form.Item, {
20
25
  name: dataIndex,
21
26
  style: {
22
27
  margin: 0
23
28
  }
24
29
  }, /*#__PURE__*/React.createElement(_Select, {
30
+ disabled: editConfig.type === 'edit' ? disabled : false,
25
31
  style: {
26
32
  width: '100%'
27
33
  },
@@ -6,19 +6,27 @@ import _Switch from "antd/es/switch";
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-03-04 14:53:50
9
- * @LastEditTime: 2022-03-05 08:53:21
9
+ * @LastEditTime: 2022-03-08 14:14:22
10
10
  */
11
11
  import React from 'react';
12
+ import { EditableContext } from '../interface';
12
13
 
13
14
  function Index(props) {
14
- var dataIndex = props.dataIndex;
15
+ var dataIndex = props.dataIndex,
16
+ disabled = props.disabled;
17
+
18
+ var _ref = React.useContext(EditableContext) || undefined,
19
+ editConfig = _ref.editConfig;
20
+
15
21
  return /*#__PURE__*/React.createElement(_Form.Item, {
16
22
  name: dataIndex,
17
23
  valuePropName: "checked",
18
24
  style: {
19
25
  margin: 0
20
26
  }
21
- }, /*#__PURE__*/React.createElement(_Switch, null));
27
+ }, /*#__PURE__*/React.createElement(_Switch, {
28
+ disabled: editConfig.type === 'edit' ? disabled : false
29
+ }));
22
30
  }
23
31
 
24
32
  export default /*#__PURE__*/React.memo(Index);
@@ -12,7 +12,7 @@ var EditableAction = function EditableAction(props) {
12
12
 
13
13
  var _ref = React.useContext(EditableContext) || undefined,
14
14
  editableStream = _ref.editableStream,
15
- editRowKey = _ref.editRowKey;
15
+ editConfig = _ref.editConfig;
16
16
 
17
17
  var onEdit = function onEdit() {
18
18
  editableStream.next({
@@ -44,16 +44,16 @@ var EditableAction = function EditableAction(props) {
44
44
  });
45
45
  };
46
46
 
47
- return /*#__PURE__*/React.createElement(React.Fragment, null, type === 'single' && /*#__PURE__*/React.createElement(React.Fragment, null, editRowKey !== record._rowKey_ && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, {
47
+ return /*#__PURE__*/React.createElement(React.Fragment, null, type === 'single' && /*#__PURE__*/React.createElement(React.Fragment, null, editConfig.curRow !== record._rowKey_ && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, {
48
48
  type: "link",
49
- disabled: (editRowKey || editRowKey === 0) && editRowKey !== record._rowKey_,
49
+ disabled: (editConfig.curRow || editConfig.curRow === 0) && editConfig.curRow !== record._rowKey_,
50
50
  size: "small",
51
51
  icon: /*#__PURE__*/React.createElement(EditOutlined, null),
52
52
  onClick: onEdit,
53
53
  title: '编辑'
54
54
  }), /*#__PURE__*/React.createElement(_Divider, {
55
55
  type: "vertical"
56
- })), editRowKey === record._rowKey_ && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, {
56
+ })), editConfig.curRow === record._rowKey_ && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Button, {
57
57
  type: "link",
58
58
  size: "small",
59
59
  icon: /*#__PURE__*/React.createElement(CheckOutlined, null),
@@ -4,7 +4,7 @@ var _excluded = ["editable", "editableType", "dataIndex", "rowIndex", "children"
4
4
  /*
5
5
  * @Author: wangxian
6
6
  * @Date: 2022-03-04 10:01:10
7
- * @LastEditTime: 2022-03-07 13:40:57
7
+ * @LastEditTime: 2022-03-08 14:06:58
8
8
  */
9
9
  import React from 'react';
10
10
  import { EditableContext } from '../interface';
@@ -19,10 +19,10 @@ var EditableCell = function EditableCell(props) {
19
19
  restProps = _objectWithoutProperties(props, _excluded);
20
20
 
21
21
  var _ref = React.useContext(EditableContext) || undefined,
22
- editRowKey = _ref.editRowKey;
22
+ editConfig = _ref.editConfig;
23
23
 
24
24
  if (editableType === 'single') {
25
- return /*#__PURE__*/React.createElement("td", restProps, editable && editRowKey === rowIndex ? getDataCell(props) : children);
25
+ return /*#__PURE__*/React.createElement("td", restProps, editable && editConfig.curRow === rowIndex ? getDataCell(props) : children);
26
26
  }
27
27
 
28
28
  return /*#__PURE__*/React.createElement("td", restProps, editable ? getDataCell(props) : children);
@@ -3,10 +3,10 @@ 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 _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
6
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
7
  import "antd/es/message/style";
9
8
  import _message from "antd/es/message";
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
12
  import { BehaviorSubject } from 'rxjs';
@@ -47,6 +47,11 @@ var Editable = function Editable(props) {
47
47
  editRowKey = _React$useState4[0],
48
48
  setEditRowkey = _React$useState4[1];
49
49
 
50
+ var _React$useState5 = React.useState('add'),
51
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
52
+ editType = _React$useState6[0],
53
+ setEditType = _React$useState6[1];
54
+
50
55
  var editRowKeyRef = React.useRef(); // 记录上一次发生改变的行值
51
56
 
52
57
  var lastValueRef = React.useRef(); // 记录上一次的datasource
@@ -71,13 +76,23 @@ var Editable = function Editable(props) {
71
76
  break;
72
77
 
73
78
  case 'editRowKey':
79
+ if (Object.keys(data.payload).length > 1) {
80
+ setEditType('edit');
81
+ } else {
82
+ setEditType('add');
83
+ }
84
+
74
85
  setEditRowkey(data.payload._rowKey_);
75
86
  editRowKeyRef.current = data.payload._rowKey_;
76
87
  break;
77
88
 
78
89
  case 'onSingleSave':
79
90
  if (lastValueRef.current && lastValueRef.current.rowIdx === data.payload._rowKey_) {
80
- onRowConfirm && onRowConfirm(lastValueRef.current);
91
+ onRowConfirm && onRowConfirm({
92
+ rowIdx: lastValueRef.current.rowIdx,
93
+ values: lastValueRef.current.values,
94
+ allValues: _objectSpread(_objectSpread({}, recordsRef.current[lastValueRef.current.rowIdx]), lastValueRef.current.allValues)
95
+ });
81
96
  editRowKeyRef.current = undefined;
82
97
  setEditRowkey(undefined);
83
98
  } else {
@@ -111,8 +126,9 @@ var Editable = function Editable(props) {
111
126
  }, [type]); // 返回stream的实例
112
127
 
113
128
  React.useEffect(function () {
114
- if (editableStream) {
129
+ if (firstLoadRef && editableStream) {
115
130
  getStreamInstance && getStreamInstance(editableStream);
131
+ firstLoadRef.current = false;
116
132
  }
117
133
  }, [editableStream]); // 定义内部的record
118
134
 
@@ -141,7 +157,7 @@ var Editable = function Editable(props) {
141
157
  return _objectSpread(_objectSpread({
142
158
  record: record,
143
159
  editableType: type
144
- }, pick(column, ['editable', 'title', 'dataIndex', 'type', 'enum'])), {}, {
160
+ }, pick(column, ['editable', 'title', 'dataIndex', 'type', 'enum', 'disabled'])), {}, {
145
161
  rowIndex: rowIndex
146
162
  });
147
163
  };
@@ -209,7 +225,10 @@ var Editable = function Editable(props) {
209
225
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EditableContext.Provider, {
210
226
  value: {
211
227
  editableStream: editableStream,
212
- editRowKey: editRowKey
228
+ editConfig: {
229
+ curRow: editRowKey,
230
+ type: editType
231
+ }
213
232
  }
214
233
  }, /*#__PURE__*/React.createElement(_Table, _extends({
215
234
  bordered: true
@@ -4,6 +4,7 @@ import { BehaviorSubject } from 'rxjs';
4
4
  export interface EditableCellProps extends React.HTMLAttributes<HTMLElement> {
5
5
  title: any;
6
6
  editable: boolean;
7
+ disabled?: boolean;
7
8
  dataIndex: number;
8
9
  rowIndex: number;
9
10
  record: any;
@@ -33,7 +34,16 @@ export interface IEditableStream {
33
34
  }
34
35
  export interface IEditableContextProps {
35
36
  editableStream: BehaviorSubject<IEditableStream | undefined>;
36
- editRowKey: number;
37
+ editConfig: {
38
+ /**
39
+ * 当前编辑的行
40
+ */
41
+ curRow: number;
42
+ /**
43
+ * 当前行是编辑还是新增
44
+ */
45
+ type: 'edit' | 'add';
46
+ };
37
47
  }
38
48
  export declare const EditableContext: React.Context<IEditableContextProps>;
39
49
  export interface IMultipleProps {
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author: wangxian
3
3
  * @Date: 2022-03-04 15:07:57
4
- * @LastEditTime: 2022-03-07 15:13:45
4
+ * @LastEditTime: 2022-03-08 13:59:06
5
5
  */
6
6
  import React from 'react';
7
7
  export var EditableContext = /*#__PURE__*/React.createContext(null);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.0.41",
4
+ "version": "1.0.42",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",