ronds-metadata 1.2.55 → 1.2.57

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,11 +6,11 @@ var _excluded = ["title", "isAddColumn", "editable", "record", "editableType", "
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-03-04 10:01:10
9
- * @LastEditTime: 2023-03-25 09:01:46
9
+ * @LastEditTime: 2023-05-23 10:17:15
10
10
  */
11
11
  import React from 'react';
12
12
  import { EditableContext } from '../interface';
13
- import { getDataCell, isFreeEditCell, isFreeEditRow } from '../utils';
13
+ import { getDataCell, isCellDisabled, isFreeEditCell, isFreeEditRow } from '../utils';
14
14
  import './index.less';
15
15
  import Texty from './Texty';
16
16
  import { tr } from '../../../framework/locale';
@@ -88,7 +88,7 @@ var EditableCell = function EditableCell(props) {
88
88
  }
89
89
  return /*#__PURE__*/React.createElement("td", _extends({}, restProps, {
90
90
  className: "".concat(className, " ").concat(isAddColumn && editConfig.editHeardCellKey === dataIndex ? 'border-right' : '', " ")
91
- }), editable ? getDataCell(props) : /*#__PURE__*/React.createElement(Texty, {
91
+ }), editable && isCellDisabled(record, restProps === null || restProps === void 0 ? void 0 : restProps.cellDisabled) ? getDataCell(props) : /*#__PURE__*/React.createElement(Texty, {
92
92
  tooltipStyle: {
93
93
  wordWrap: 'break-word'
94
94
  },
@@ -2,10 +2,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import "antd/es/form/style";
3
3
  import _Form from "antd/es/form";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ var _excluded = ["record", "index", "className"];
5
7
  /*
6
8
  * @Author: wangxian
7
9
  * @Date: 2022-03-04 10:01:10
8
- * @LastEditTime: 2023-01-04 10:39:58
10
+ * @LastEditTime: 2023-05-24 09:07:32
9
11
  */
10
12
  import React from 'react';
11
13
  import { useDrag, useDrop } from 'react-dnd';
@@ -14,7 +16,7 @@ var EditableRow = function EditableRow(props) {
14
16
  var record = props.record,
15
17
  index = props.index,
16
18
  className = props.className,
17
- onMove = props.onMove;
19
+ restProps = _objectWithoutProperties(props, _excluded);
18
20
  var _Form$useForm = _Form.useForm(),
19
21
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
20
22
  form = _Form$useForm2[0];
@@ -30,7 +32,7 @@ var EditableRow = function EditableRow(props) {
30
32
  collect: function collect(monitor) {
31
33
  var _ref2 = monitor.getItem() || {},
32
34
  dragIndex = _ref2.index;
33
- if (dragIndex === index || !onMove) {
35
+ if (dragIndex === index || !(restProps === null || restProps === void 0 ? void 0 : restProps.onMove)) {
34
36
  return {};
35
37
  }
36
38
  return {
@@ -39,10 +41,10 @@ var EditableRow = function EditableRow(props) {
39
41
  };
40
42
  },
41
43
  drop: function drop(item, monitor) {
42
- onMove && onMove({
44
+ (restProps === null || restProps === void 0 ? void 0 : restProps.onMove) && (restProps === null || restProps === void 0 ? void 0 : restProps.onMove({
43
45
  dragIndex: item.index,
44
46
  hoverIndex: index
45
- });
47
+ }));
46
48
  }
47
49
  }),
48
50
  _useDrop2 = _slicedToArray(_useDrop, 2),
@@ -67,7 +69,7 @@ var EditableRow = function EditableRow(props) {
67
69
  }),
68
70
  _useDrag2 = _slicedToArray(_useDrag, 2),
69
71
  drag = _useDrag2[1];
70
- onMove && drop(drag(ref));
72
+ (restProps === null || restProps === void 0 ? void 0 : restProps.onMove) && drop(drag(ref));
71
73
  var onValuesChange = function onValuesChange(values, allValues) {
72
74
  if (editableStream) {
73
75
  editableStream.next({
@@ -11,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
11
11
  /*
12
12
  * @Author: wangxain
13
13
  * @Date: 2022-03-04 08:53:04
14
- * @LastEditTime: 2023-02-25 11:11:58
14
+ * @LastEditTime: 2023-05-23 09:20:36
15
15
  */
16
16
  import React from 'react';
17
17
  import { pick, isArray } from 'lodash';
@@ -205,7 +205,7 @@ var Editable = function Editable(props) {
205
205
  record: record,
206
206
  editableType: type,
207
207
  isAddColumn: isAddColumn
208
- }, pick(column, ['editable', 'title', 'dataIndex', 'type', 'enum', 'mode', 'disabled'])), {}, {
208
+ }, pick(column, ['editable', 'title', 'dataIndex', 'type', 'enum', 'mode', 'disabled', 'cellDisabled'])), {}, {
209
209
  rowIndex: rowIndex
210
210
  });
211
211
  };
@@ -5,6 +5,7 @@ export interface EditableCellProps extends React.HTMLAttributes<HTMLElement> {
5
5
  title: any;
6
6
  editable: boolean;
7
7
  disabled?: boolean;
8
+ cellDisabled?: string;
8
9
  dataIndex: string;
9
10
  isAddColumn: boolean;
10
11
  rowIndex: number;
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author: wangxian
3
3
  * @Date: 2022-03-04 15:07:57
4
- * @LastEditTime: 2023-01-04 10:38:53
4
+ * @LastEditTime: 2023-05-23 09:16:25
5
5
  */
6
6
  import React from 'react';
7
7
  export var EditableContext = /*#__PURE__*/React.createContext(null);
@@ -2,4 +2,5 @@ import { EditableCellProps } from './interface';
2
2
  export declare function getDataCell(item: EditableCellProps): JSX.Element;
3
3
  export declare function isFreeEditRow(curRow: any, rowIndex: number): boolean;
4
4
  export declare function isFreeEditCell(editCellKey: any, dataIndex: string, rowIndex: number): boolean;
5
+ export declare function isCellDisabled(record: any, cellDisabled?: string): boolean;
5
6
  export declare function removeCurKeyFromEditRow(editRowKey: any, curKey: number): string;
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author: wangxian
3
3
  * @Date: 2022-03-04 14:59:04
4
- * @LastEditTime: 2022-07-07 08:35:35
4
+ * @LastEditTime: 2023-05-23 10:33:54
5
5
  */
6
6
  import React from 'react';
7
7
  import Input from './DataCell/Input';
@@ -31,6 +31,30 @@ export function isFreeEditRow(curRow, rowIndex) {
31
31
  export function isFreeEditCell(editCellKey, dataIndex, rowIndex) {
32
32
  return (editCellKey === null || editCellKey === void 0 ? void 0 : editCellKey.dataIndex) === dataIndex && (editCellKey === null || editCellKey === void 0 ? void 0 : editCellKey.rowIndex) === rowIndex;
33
33
  }
34
+ export function isCellDisabled(record, cellDisabled) {
35
+ if (cellDisabled) {
36
+ var regex = /\w+(\.\w+)?[=<>!]{1}|\w+(\.\w+)?(\.indexOf\('.+'\)[=<>!]{1})/g;
37
+ var keys = cellDisabled.trim().match(regex);
38
+ if (!keys) {
39
+ return true;
40
+ }
41
+ var expression = cellDisabled;
42
+ for (var i = 0; i < keys.length; i++) {
43
+ var key = keys[i].substring(0, keys[i].length - 1);
44
+ // 处理.length 之类的状况
45
+ var _key = key.split('.');
46
+ var _changeData = record[_key[0]];
47
+ if (_changeData || _changeData === 0) {
48
+ var r = key === _key[0] ? "'".concat(_changeData, "'") : eval("_changeData.".concat(_key[1]));
49
+ expression = expression.replace(key, r);
50
+ } else {
51
+ expression = expression.replace(key, undefined);
52
+ }
53
+ }
54
+ return !eval(expression);
55
+ }
56
+ return true;
57
+ }
34
58
  export function removeCurKeyFromEditRow(editRowKey, curKey) {
35
59
  var keys = editRowKey.toString().split(',');
36
60
  var res = [];
@@ -37,7 +37,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
37
37
  /*
38
38
  * @Author:wangxian
39
39
  * @Date: 2021-09-18 14:15:04
40
- * @LastEditTime: 2023-05-18 17:18:32
40
+ * @LastEditTime: 2023-05-24 09:08:30
41
41
  */
42
42
  import React from 'react';
43
43
  import { MetadataFormContext, MetadataRefContext } from '../interface';
@@ -91,7 +91,7 @@ function Index(props) {
91
91
  _React$useState12 = _slicedToArray(_React$useState11, 2),
92
92
  expandedKeys = _React$useState12[0],
93
93
  setExpandedKeys = _React$useState12[1];
94
- var firstLoadTreeSelectRef = React.useRef(false);
94
+ var firstLoadTreeSelectRef = React.useRef(true);
95
95
  var pageRef = React.useRef(1);
96
96
  var totalRef = React.useRef();
97
97
  var onSelect = function onSelect(value) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.2.55",
4
+ "version": "1.2.57",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",