ronds-metadata 1.1.25 → 1.1.26

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.
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { EditableCellProps } from '../interface';
3
+ declare function Index(props: EditableCellProps): JSX.Element;
4
+ declare const _default: React.MemoExoticComponent<typeof Index>;
5
+ export default _default;
@@ -0,0 +1,44 @@
1
+ import "antd/es/form/style";
2
+ import _Form from "antd/es/form";
3
+ import "antd/es/button/style";
4
+ import _Button from "antd/es/button";
5
+
6
+ /*
7
+ * @Author: wangxian
8
+ * @Date: 2022-03-04 14:53:50
9
+ * @LastEditTime: 2022-07-07 08:46:45
10
+ */
11
+ import React from 'react';
12
+ import { SettingOutlined } from '@ant-design/icons';
13
+ import { EditableContext } from '../interface';
14
+
15
+ function Index(props) {
16
+ var dataIndex = props.dataIndex,
17
+ record = props.record,
18
+ disabled = props.disabled;
19
+
20
+ var _ref = React.useContext(EditableContext) || undefined,
21
+ editableStream = _ref.editableStream,
22
+ editConfig = _ref.editConfig;
23
+
24
+ var onClick = function onClick() {
25
+ editableStream && editableStream.next({
26
+ type: 'onButtonCellClick',
27
+ payload: record
28
+ });
29
+ };
30
+
31
+ return /*#__PURE__*/React.createElement(_Form.Item, {
32
+ name: dataIndex,
33
+ style: {
34
+ margin: 0
35
+ }
36
+ }, /*#__PURE__*/React.createElement(_Button, {
37
+ type: "link",
38
+ disabled: editConfig.type === 'edit' ? disabled : false,
39
+ onClick: onClick,
40
+ icon: /*#__PURE__*/React.createElement(SettingOutlined, null)
41
+ }));
42
+ }
43
+
44
+ export default /*#__PURE__*/React.memo(Index);
@@ -6,46 +6,24 @@ import _Input from "antd/es/input";
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-03-04 14:53:50
9
- * @LastEditTime: 2022-07-06 14:32:00
9
+ * @LastEditTime: 2022-07-07 08:45:08
10
10
  */
11
11
  import React from 'react';
12
12
  import { EditableContext } from '../interface';
13
13
 
14
14
  function Index(props) {
15
15
  var dataIndex = props.dataIndex,
16
- rowIndex = props.rowIndex,
17
16
  disabled = props.disabled;
18
17
 
19
18
  var _ref = React.useContext(EditableContext) || undefined,
20
19
  editConfig = _ref.editConfig;
21
20
 
22
- var inputRef = React.useRef();
23
- var firstLoadRef = React.useRef(true);
24
- React.useEffect(function () {
25
- var _editConfig$editCellK, _editConfig$editCellK2;
26
-
27
- if (!inputRef.current) return;
28
-
29
- if (((_editConfig$editCellK = editConfig.editCellKey) === null || _editConfig$editCellK === void 0 ? void 0 : _editConfig$editCellK.dataIndex) === dataIndex && ((_editConfig$editCellK2 = editConfig.editCellKey) === null || _editConfig$editCellK2 === void 0 ? void 0 : _editConfig$editCellK2.rowIndex) === rowIndex) {
30
- if (firstLoadRef.current) {
31
- var _inputRef$current$sta, _inputRef$current$sta2;
32
-
33
- // 选中内容
34
- inputRef.current.input.setSelectionRange(0, ((_inputRef$current$sta = inputRef.current.state) === null || _inputRef$current$sta === void 0 ? void 0 : (_inputRef$current$sta2 = _inputRef$current$sta.value) === null || _inputRef$current$sta2 === void 0 ? void 0 : _inputRef$current$sta2.length) || 0);
35
- firstLoadRef.current = false;
36
- } // 设置焦点
37
-
38
-
39
- inputRef.current.focus();
40
- }
41
- }, [editConfig]);
42
21
  return /*#__PURE__*/React.createElement(_Form.Item, {
43
22
  name: dataIndex,
44
23
  style: {
45
24
  margin: 0
46
25
  }
47
26
  }, /*#__PURE__*/React.createElement(_Input, {
48
- ref: inputRef,
49
27
  type: "color",
50
28
  size: "small",
51
29
  disabled: editConfig.type === 'edit' ? disabled : false
@@ -41,6 +41,10 @@ interface IEditableProps<R = any> {
41
41
  * 每行确认回调函数
42
42
  */
43
43
  onRowClick?: (record: any) => void;
44
+ /**
45
+ * 表格按钮点击事件
46
+ */
47
+ onButtonCellClick?: (record: any) => void;
44
48
  /**
45
49
  * 每行确认回调函数
46
50
  */
@@ -34,6 +34,7 @@ var Editable = function Editable(props) {
34
34
  isAddColumn = _props$isAddColumn === void 0 ? false : _props$isAddColumn,
35
35
  tableProps = props.tableProps,
36
36
  onRowClick = props.onRowClick,
37
+ onButtonCellClick = props.onButtonCellClick,
37
38
  onRowConfirm = props.onRowConfirm,
38
39
  onRowDelete = props.onRowDelete,
39
40
  onMulChange = props.onMulChange,
@@ -125,6 +126,10 @@ var Editable = function Editable(props) {
125
126
  onRowClick && onRowClick(data.payload);
126
127
  break;
127
128
 
129
+ case 'onButtonCellClick':
130
+ onButtonCellClick && onButtonCellClick(data.payload);
131
+ break;
132
+
128
133
  case 'onSingleSave':
129
134
  if (lastValueRef.current && lastValueRef.current.rowIdx === data.payload._rowKey_) {
130
135
  onRowConfirm && onRowConfirm({
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author: wangxian
3
3
  * @Date: 2022-03-04 14:59:04
4
- * @LastEditTime: 2022-07-06 14:27:13
4
+ * @LastEditTime: 2022-07-07 08:35:35
5
5
  */
6
6
  import React from 'react';
7
7
  import Input from './DataCell/Input';
@@ -9,12 +9,14 @@ import Number from './DataCell/Number';
9
9
  import Select from './DataCell/Select';
10
10
  import Switch from './DataCell/Switch';
11
11
  import ColorPicker from './DataCell/ColorPicker';
12
+ import ButtonCell from './DataCell/ButtonCell';
12
13
  var DataCellMap = {
13
14
  text: Input,
14
15
  number: Number,
15
16
  enum: Select,
16
17
  bool: Switch,
17
- colorPicker: ColorPicker
18
+ colorPicker: ColorPicker,
19
+ buttonCell: ButtonCell
18
20
  };
19
21
  export function getDataCell(item) {
20
22
  if (item.type && DataCellMap[item.type]) {
@@ -171,7 +171,7 @@ var TableArray = function TableArray(props) {
171
171
  title: getLabelByProps(it),
172
172
  key: it.id,
173
173
  dataIndex: it.id,
174
- width: 100,
174
+ width: processColumnType(it, extraInfo) === 'buttonCell' ? 60 : 100,
175
175
  editable: true,
176
176
  type: processColumnType(it, extraInfo),
177
177
  enum: it.type === 'enum' ? processEnumData(it, extraInfo) : undefined
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.1.25",
4
+ "version": "1.1.26",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",