@zat-design/sisyphus-react 3.6.10 → 3.7.0-beta.1
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/dist/index.esm.css +52 -54
- package/dist/less.esm.css +52 -54
- package/es/ProEditTable/components/RenderField/ListChanged.d.ts +16 -0
- package/es/ProEditTable/components/RenderField/ListChanged.js +124 -0
- package/es/ProEditTable/components/RenderField/index.js +27 -46
- package/es/ProEditTable/style/index.less +2 -1
- package/es/ProEditTable/utils/index.d.ts +1 -1
- package/es/ProEditTable/utils/index.js +19 -13
- package/es/ProEditTable/utils/tools.d.ts +6 -0
- package/es/ProEditTable/utils/tools.js +15 -2
- package/es/ProEnum/hooks/useEnumRequest.js +3 -0
- package/es/ProEnum/utils/index.js +1 -1
- package/es/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
- package/es/ProForm/components/combination/FormList/components/LineFields.js +4 -1
- package/es/ProForm/components/combination/FormList/utils.d.ts +1 -0
- package/es/ProForm/components/combination/FormList/utils.js +13 -0
- package/es/ProForm/components/combination/ProCascader/index.js +8 -14
- package/es/ProForm/components/render/Changed.d.ts +14 -0
- package/es/ProForm/components/render/Changed.js +64 -0
- package/es/ProForm/components/render/Render.js +17 -37
- package/es/ProForm/style/index.less +52 -52
- package/es/ProForm/utils/diffOriginal.d.ts +0 -1
- package/es/ProForm/utils/diffOriginal.js +4 -27
- package/es/ProForm/utils/useChanged.js +1 -2
- package/es/ProForm/utils/useListChanged.js +3 -3
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.d.ts +3 -1
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +108 -41
- package/es/ProTable/components/RcTable/components/DraggableTable/index.js +14 -1
- package/es/ProTable/index.js +6 -2
- package/es/ProTable/propsType.d.ts +22 -0
- package/es/ProTable/style/index.less +27 -32
- package/es/ProThemeTools/component/{PrdTools → ProTools}/index.d.ts +2 -2
- package/es/ProThemeTools/component/{PrdTools → ProTools}/index.js +2 -2
- package/es/ProThemeTools/component/index.d.ts +1 -2
- package/es/ProThemeTools/component/index.js +1 -2
- package/es/ProThemeTools/index.js +2 -2
- package/es/ProThemeTools/style/index.less +1 -1
- package/es/ProTreeModal/components/List.js +30 -4
- package/lib/ProEditTable/components/RenderField/ListChanged.d.ts +16 -0
- package/lib/ProEditTable/components/RenderField/ListChanged.js +129 -0
- package/lib/ProEditTable/components/RenderField/index.js +26 -41
- package/lib/ProEditTable/style/index.less +2 -1
- package/lib/ProEditTable/utils/index.d.ts +1 -1
- package/lib/ProEditTable/utils/index.js +17 -11
- package/lib/ProEditTable/utils/tools.d.ts +6 -0
- package/lib/ProEditTable/utils/tools.js +15 -1
- package/lib/ProEnum/hooks/useEnumRequest.js +3 -0
- package/lib/ProEnum/utils/index.js +1 -1
- package/lib/ProForm/components/combination/FormList/components/BlockFields.js +5 -2
- package/lib/ProForm/components/combination/FormList/components/LineFields.js +4 -1
- package/lib/ProForm/components/combination/FormList/utils.d.ts +1 -0
- package/lib/ProForm/components/combination/FormList/utils.js +15 -1
- package/lib/ProForm/components/combination/ProCascader/index.js +6 -12
- package/lib/ProForm/components/render/Changed.d.ts +14 -0
- package/lib/ProForm/components/render/Changed.js +69 -0
- package/lib/ProForm/components/render/Render.js +17 -35
- package/lib/ProForm/style/index.less +52 -52
- package/lib/ProForm/utils/diffOriginal.d.ts +0 -1
- package/lib/ProForm/utils/diffOriginal.js +3 -27
- package/lib/ProForm/utils/useChanged.js +1 -2
- package/lib/ProForm/utils/useListChanged.js +2 -2
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.d.ts +3 -1
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +108 -41
- package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +13 -1
- package/lib/ProTable/index.js +6 -2
- package/lib/ProTable/propsType.d.ts +22 -0
- package/lib/ProTable/style/index.less +27 -32
- package/lib/ProThemeTools/component/{PrdTools → ProTools}/index.d.ts +2 -2
- package/lib/ProThemeTools/component/{PrdTools → ProTools}/index.js +2 -2
- package/lib/ProThemeTools/component/index.d.ts +1 -2
- package/lib/ProThemeTools/component/index.js +3 -3
- package/lib/ProThemeTools/index.js +1 -1
- package/lib/ProThemeTools/style/index.less +1 -1
- package/lib/ProTreeModal/components/List.js +30 -4
- package/package.json +1 -1
- /package/es/ProThemeTools/component/{PrdTools → ProTools}/style/index.less +0 -0
- /package/lib/ProThemeTools/component/{PrdTools → ProTools}/style/index.less +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _antd = require("antd");
|
|
14
|
+
var _lodash = require("lodash");
|
|
15
|
+
var _diffOriginal = require("../../../ProForm/utils/diffOriginal");
|
|
16
|
+
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type"];
|
|
17
|
+
var toNamePath = function toNamePath(name) {
|
|
18
|
+
if (Array.isArray(name)) {
|
|
19
|
+
return name;
|
|
20
|
+
}
|
|
21
|
+
return [name];
|
|
22
|
+
};
|
|
23
|
+
var toNamePaths = function toNamePaths(names) {
|
|
24
|
+
return names.map(function (name) {
|
|
25
|
+
return toNamePath(name);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var getOriginalValue = function getOriginalValue(_ref) {
|
|
29
|
+
var namePath = _ref.namePath,
|
|
30
|
+
originalName = _ref.originalName,
|
|
31
|
+
originalNames = _ref.originalNames,
|
|
32
|
+
originalValues = _ref.originalValues,
|
|
33
|
+
rowKeyPath = _ref.rowKeyPath,
|
|
34
|
+
form = _ref.form;
|
|
35
|
+
if (!originalValues) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
if (rowKeyPath) {
|
|
39
|
+
var rowValueNamePath = namePath.slice(0, rowKeyPath.length - 1); // 表单中变动值所在行
|
|
40
|
+
var rowKeyName = rowKeyPath[rowKeyPath.length - 1]; // rowKey在行内的name
|
|
41
|
+
var rowValue = form.getFieldValue(rowValueNamePath);
|
|
42
|
+
if (!rowValue) return undefined;
|
|
43
|
+
var keyValue = rowValue[rowKeyName]; // 获取表单中rowKey值
|
|
44
|
+
if (!keyValue) return undefined;
|
|
45
|
+
var originalValueList = (0, _lodash.get)(originalValues, originalName.slice(0, rowKeyPath.length - 2));
|
|
46
|
+
var originalValueRow = originalValueList.find(function (item) {
|
|
47
|
+
return item[rowKeyPath[rowKeyPath.length - 1]] === keyValue;
|
|
48
|
+
});
|
|
49
|
+
var originalValue;
|
|
50
|
+
if (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) {
|
|
51
|
+
var originalNamesValue = originalNames.map(function (originalName) {
|
|
52
|
+
return (0, _lodash.get)(originalValueRow, originalName.slice(rowKeyPath.length - 1));
|
|
53
|
+
});
|
|
54
|
+
// 有可能出现数组中全是undefined的情况 视为没有值
|
|
55
|
+
var fillUndefined = originalNamesValue.every(function (valItem) {
|
|
56
|
+
return valItem === undefined;
|
|
57
|
+
});
|
|
58
|
+
originalValue = fillUndefined ? undefined : originalNamesValue;
|
|
59
|
+
} else {
|
|
60
|
+
originalValue = (0, _lodash.get)(originalValueRow, originalName.slice(rowKeyPath.length - 1));
|
|
61
|
+
}
|
|
62
|
+
return originalValue;
|
|
63
|
+
}
|
|
64
|
+
// 这个方法是给editTable专用的 暂时不存在不传rowKey的情况
|
|
65
|
+
return (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) ? originalNames.map(function (originalName) {
|
|
66
|
+
return (0, _lodash.get)(originalValues, originalName);
|
|
67
|
+
}) : (0, _lodash.get)(originalValues, originalName);
|
|
68
|
+
};
|
|
69
|
+
var ListChanged = function ListChanged(props) {
|
|
70
|
+
var name = props.name,
|
|
71
|
+
names = props.names,
|
|
72
|
+
namesStr = props.namesStr,
|
|
73
|
+
_props$originalName = props.originalName,
|
|
74
|
+
originalName = _props$originalName === void 0 ? name : _props$originalName,
|
|
75
|
+
_props$originalNames = props.originalNames,
|
|
76
|
+
originalNames = _props$originalNames === void 0 ? names : _props$originalNames,
|
|
77
|
+
originalValues = props.originalValues,
|
|
78
|
+
form = props.form,
|
|
79
|
+
equalWith = props.equalWith,
|
|
80
|
+
rowKeyPath = props.rowKeyPath,
|
|
81
|
+
children = props.children,
|
|
82
|
+
type = props.type,
|
|
83
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
84
|
+
var namePath = toNamePath(namesStr || name);
|
|
85
|
+
var originalNamePath = toNamePath(originalName);
|
|
86
|
+
var originalNamePaths = originalNames && toNamePaths(originalNames);
|
|
87
|
+
var notWatch = !originalValues || ['FormList', 'ProEditTable'].includes(type);
|
|
88
|
+
var originalValue = !notWatch ? getOriginalValue({
|
|
89
|
+
namePath: namePath,
|
|
90
|
+
originalName: originalNamePath,
|
|
91
|
+
originalNames: originalNamePaths,
|
|
92
|
+
originalValues: originalValues,
|
|
93
|
+
rowKeyPath: rowKeyPath,
|
|
94
|
+
form: form
|
|
95
|
+
}) : undefined;
|
|
96
|
+
var noChange = !equalWith && (!originalValues || originalValue === undefined);
|
|
97
|
+
var changed = (0, _react.useMemo)(function () {
|
|
98
|
+
if (notWatch || noChange) return false;
|
|
99
|
+
return (0, _diffOriginal.diffOriginal)({
|
|
100
|
+
value: props.value,
|
|
101
|
+
originalValue: originalValue,
|
|
102
|
+
form: form,
|
|
103
|
+
equalWith: equalWith
|
|
104
|
+
// name: isString(namesStr) ? namesStr : originalName || name,
|
|
105
|
+
});
|
|
106
|
+
}, [props.value, originalValue]);
|
|
107
|
+
if (notWatch || noChange) {
|
|
108
|
+
return /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest));
|
|
109
|
+
}
|
|
110
|
+
return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
111
|
+
open: changed ? undefined : false,
|
|
112
|
+
getPopupContainer: function getPopupContainer(target) {
|
|
113
|
+
return target.parentElement;
|
|
114
|
+
},
|
|
115
|
+
title: (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
116
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children), {}, {
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
isView: true,
|
|
119
|
+
value: originalValue,
|
|
120
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
121
|
+
})) : undefined]
|
|
122
|
+
}),
|
|
123
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
124
|
+
className: changed ? 'pro-form-item-changed' : '',
|
|
125
|
+
children: /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest)) : undefined
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
var _default = exports.default = ListChanged;
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
10
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
12
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -26,10 +25,10 @@ var _ProConfigProvider = require("../../../ProConfigProvider");
|
|
|
26
25
|
var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
|
|
27
26
|
var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
|
|
28
27
|
var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
|
|
29
|
-
var _useListChanged3 = require("../../../ProForm/utils/useListChanged");
|
|
30
28
|
var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
|
|
31
29
|
var _utils = require("../../../ProForm/utils");
|
|
32
30
|
var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
|
|
31
|
+
var _ListChanged = _interopRequireDefault(require("./ListChanged"));
|
|
33
32
|
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
|
|
34
33
|
/* eslint-disable prefer-destructuring */
|
|
35
34
|
/* eslint-disable prefer-const */
|
|
@@ -492,21 +491,6 @@ var RenderField = function RenderField(_ref) {
|
|
|
492
491
|
return _ref3.apply(this, arguments);
|
|
493
492
|
};
|
|
494
493
|
}();
|
|
495
|
-
// 判断当前字段是否变更
|
|
496
|
-
var _useListChanged = (0, _useListChanged3.useListChanged)({
|
|
497
|
-
name: cellName,
|
|
498
|
-
names: names,
|
|
499
|
-
namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
|
|
500
|
-
rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
|
|
501
|
-
originalName: originalName,
|
|
502
|
-
originalNames: originalNames,
|
|
503
|
-
originalValues: originalValues,
|
|
504
|
-
form: form,
|
|
505
|
-
equalWith: equalWith
|
|
506
|
-
}),
|
|
507
|
-
_useListChanged2 = (0, _slicedToArray2.default)(_useListChanged, 2),
|
|
508
|
-
changed = _useListChanged2[0],
|
|
509
|
-
originalValue = _useListChanged2[1];
|
|
510
494
|
var componentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
511
495
|
form: form,
|
|
512
496
|
name: cellName
|
|
@@ -552,16 +536,36 @@ var RenderField = function RenderField(_ref) {
|
|
|
552
536
|
if (isView) {
|
|
553
537
|
delete _formItemProps.rules;
|
|
554
538
|
}
|
|
555
|
-
var _className = (0, _classnames.default)((0, _defineProperty2.default)(
|
|
539
|
+
var _className = (0, _classnames.default)((0, _defineProperty2.default)({}, className, className));
|
|
556
540
|
var FormItem = null;
|
|
541
|
+
var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
|
|
542
|
+
if (originalValues) {
|
|
543
|
+
FieldComponent = (0, _jsxRuntime.jsx)(_ListChanged.default, {
|
|
544
|
+
name: cellName,
|
|
545
|
+
names: names,
|
|
546
|
+
namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
|
|
547
|
+
rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
|
|
548
|
+
originalName: originalName,
|
|
549
|
+
originalNames: originalNames,
|
|
550
|
+
originalValues: originalValues,
|
|
551
|
+
form: form,
|
|
552
|
+
equalWith: equalWith,
|
|
553
|
+
type: type,
|
|
554
|
+
onChange: _onChange,
|
|
555
|
+
children: FieldComponent
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
|
|
559
|
+
FieldComponent = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
560
|
+
children: FieldComponent
|
|
561
|
+
}));
|
|
562
|
+
}
|
|
557
563
|
FormItem = TargetComponent ? (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
558
564
|
validateFirst: true
|
|
559
565
|
}, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell'])), {}, {
|
|
560
566
|
className: _className,
|
|
561
567
|
name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
|
|
562
|
-
children:
|
|
563
|
-
children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
|
|
564
|
-
})) : /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
|
|
568
|
+
children: FieldComponent
|
|
565
569
|
})) : (0, _jsxRuntime.jsx)(_Container.default, {
|
|
566
570
|
viewEmpty: viewEmpty
|
|
567
571
|
});
|
|
@@ -579,28 +583,9 @@ var RenderField = function RenderField(_ref) {
|
|
|
579
583
|
}
|
|
580
584
|
}));
|
|
581
585
|
}
|
|
582
|
-
var originalTitle = originalDiffTip && originalValues ? (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
583
|
-
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
584
|
-
isView: true,
|
|
585
|
-
value: originalValue,
|
|
586
|
-
checked: type === 'Switch' ? originalValue : undefined
|
|
587
|
-
}))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
588
|
-
isView: true,
|
|
589
|
-
value: originalValue,
|
|
590
|
-
checked: type === 'Switch' ? originalValue : undefined
|
|
591
|
-
}))]
|
|
592
|
-
}) : null;
|
|
593
586
|
return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
|
|
594
587
|
value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
|
|
595
|
-
children:
|
|
596
|
-
title: originalTitle,
|
|
597
|
-
placement: "topLeft",
|
|
598
|
-
open: changed ? undefined : false,
|
|
599
|
-
getPopupContainer: function getPopupContainer(target) {
|
|
600
|
-
return target.parentElement;
|
|
601
|
-
},
|
|
602
|
-
children: FormItem
|
|
603
|
-
})
|
|
588
|
+
children: FormItem
|
|
604
589
|
});
|
|
605
590
|
};
|
|
606
591
|
var _default = exports.default = RenderField;
|
|
@@ -29,16 +29,21 @@ var _excluded = ["type", "label", "show", "needConfirm", "onHandle", "onClick"],
|
|
|
29
29
|
_excluded2 = ["title", "icon"];
|
|
30
30
|
// 渲染操作栏
|
|
31
31
|
var getActionColumn = function getActionColumn(config) {
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
var _cloneDeepWith = (0, _lodash.cloneDeepWith)(config, function (value) {
|
|
33
|
+
if ( /*#__PURE__*/_react.default.isValidElement(value)) {
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
}),
|
|
37
|
+
disabled = _cloneDeepWith.disabled,
|
|
38
|
+
name = _cloneDeepWith.name,
|
|
39
|
+
form = _cloneDeepWith.form,
|
|
40
|
+
virtualKey = _cloneDeepWith.virtualKey,
|
|
41
|
+
validateKeys = _cloneDeepWith.validateKeys,
|
|
42
|
+
actionWidth = _cloneDeepWith.actionWidth,
|
|
43
|
+
actionProps = _cloneDeepWith.actionProps,
|
|
44
|
+
page = _cloneDeepWith.page,
|
|
45
|
+
rowDisabled = _cloneDeepWith.rowDisabled,
|
|
46
|
+
actionDirection = _cloneDeepWith.actionDirection;
|
|
42
47
|
var pageNum = _utils.tools.calc(page.pageNum, '-', 1);
|
|
43
48
|
var firstIndex = _utils.tools.calc(pageNum, '*', page.pageSize);
|
|
44
49
|
// actionProps配置为false 默认不插入
|
|
@@ -199,7 +204,8 @@ var transformColumns = exports.transformColumns = function transformColumns() {
|
|
|
199
204
|
setState = config.setState,
|
|
200
205
|
page = config.page;
|
|
201
206
|
var isCell = mode === 'cell';
|
|
202
|
-
var _columns = (0,
|
|
207
|
+
var _columns = (0, _tools.cloneDeepFilterNode)(columns);
|
|
208
|
+
// 你的函数代码
|
|
203
209
|
var _cacheMap = (0, _objectSpread2.default)({}, cacheMap.current);
|
|
204
210
|
var pageNum = _utils.tools.calc(page.pageNum, '-', 1);
|
|
205
211
|
var firstIndex = _utils.tools.calc(pageNum, '*', page.pageSize);
|
|
@@ -29,3 +29,9 @@ export declare const getDisabled: ({ globalControl, formDisabled, column, tabled
|
|
|
29
29
|
/** 表格自动滚动到报错位置
|
|
30
30
|
*/
|
|
31
31
|
export declare const handleScrollToError: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* 深copy一个对象,并过滤掉其中的React节点
|
|
34
|
+
* @param value 需要深拷贝的对象
|
|
35
|
+
* @returns 深拷贝后的对象,其中的React节点会被保留
|
|
36
|
+
*/
|
|
37
|
+
export declare function cloneDeepFilterNode(value: any): any;
|
|
@@ -4,8 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.cloneDeepFilterNode = cloneDeepFilterNode;
|
|
7
8
|
exports.splitNames = exports.onDelete = exports.handleScrollToError = exports.getRandom = exports.getNamePath = exports.getDisabled = exports.difference = exports.customValidate = void 0;
|
|
8
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
var _lodash = require("lodash");
|
|
10
12
|
var getRandom = exports.getRandom = function getRandom() {
|
|
11
13
|
return Math.random().toString(36).slice(-6);
|
|
@@ -189,4 +191,16 @@ var handleScrollToError = exports.handleScrollToError = function handleScrollToE
|
|
|
189
191
|
}
|
|
190
192
|
}
|
|
191
193
|
}, 0);
|
|
192
|
-
};
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* 深copy一个对象,并过滤掉其中的React节点
|
|
197
|
+
* @param value 需要深拷贝的对象
|
|
198
|
+
* @returns 深拷贝后的对象,其中的React节点会被保留
|
|
199
|
+
*/
|
|
200
|
+
function cloneDeepFilterNode(value) {
|
|
201
|
+
return (0, _lodash.cloneDeepWith)(value, function (val) {
|
|
202
|
+
if ( /*#__PURE__*/_react.default.isValidElement(val)) {
|
|
203
|
+
return val;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
@@ -98,6 +98,9 @@ var useEnumRequest = function useEnumRequest(props, dispatch) {
|
|
|
98
98
|
// 忽略清洗的 codes
|
|
99
99
|
ignoreCodes = (useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options = useRequest.options) === null || _useRequest$options === void 0 ? void 0 : _useRequest$options.ignoreCodes) || [];
|
|
100
100
|
Object.keys(response).forEach(function (key) {
|
|
101
|
+
if (!response[key] || !Array.isArray(response[key])) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
101
104
|
var options = (0, _toConsumableArray2.default)(response[key]) || [];
|
|
102
105
|
if (ignoreCodes.includes(key)) {
|
|
103
106
|
response[key] = options;
|
|
@@ -87,7 +87,7 @@ function cacheFieldNames(fieldNames, dataSource) {
|
|
|
87
87
|
});
|
|
88
88
|
// 递归去对数据进行清洗
|
|
89
89
|
if (children && Array.isArray(dataSource[children])) {
|
|
90
|
-
result
|
|
90
|
+
result.children = dataSource[children].map(function (item) {
|
|
91
91
|
return cacheFieldNames(fieldNames, item);
|
|
92
92
|
});
|
|
93
93
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -8,12 +9,14 @@ exports.default = void 0;
|
|
|
8
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
11
|
var _antd = require("antd");
|
|
11
|
-
var _react = require("react");
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _lodash = require("lodash");
|
|
13
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
15
|
var _ActionButton = _interopRequireDefault(require("./ActionButton"));
|
|
15
16
|
var _RenderFields = _interopRequireDefault(require("../../../render/RenderFields"));
|
|
16
17
|
var _ProCollapse = _interopRequireDefault(require("../../../../../ProLayout/components/ProCollapse"));
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
var MemoRenderFields = /*#__PURE__*/_react.default.memo(_RenderFields.default, _utils.memoWith);
|
|
17
20
|
var BlockFields = function BlockFields(props) {
|
|
18
21
|
var title = props.title,
|
|
19
22
|
mode = props.mode,
|
|
@@ -70,7 +73,7 @@ var BlockFields = function BlockFields(props) {
|
|
|
70
73
|
}),
|
|
71
74
|
children: (0, _jsxRuntime.jsx)(_antd.Row, {
|
|
72
75
|
gutter: 24,
|
|
73
|
-
children: (0, _jsxRuntime.jsx)(
|
|
76
|
+
children: (0, _jsxRuntime.jsx)(MemoRenderFields, {
|
|
74
77
|
columns: columns,
|
|
75
78
|
form: form,
|
|
76
79
|
colProps: colProps,
|
|
@@ -9,12 +9,15 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
var _antd = require("antd");
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
14
|
var _sortable = require("@dnd-kit/sortable");
|
|
14
15
|
var _utilities = require("@dnd-kit/utilities");
|
|
15
16
|
var _ProIcon = _interopRequireDefault(require("../../../../../ProIcon"));
|
|
16
17
|
var _ActionButton = _interopRequireDefault(require("./ActionButton"));
|
|
17
18
|
var _RenderFields = _interopRequireDefault(require("../../../render/RenderFields"));
|
|
19
|
+
var _utils = require("../utils");
|
|
20
|
+
var MemoRenderFields = /*#__PURE__*/_react.default.memo(_RenderFields.default, _utils.memoWith);
|
|
18
21
|
var LineFields = function LineFields(props) {
|
|
19
22
|
var mode = props.mode,
|
|
20
23
|
index = props.index,
|
|
@@ -68,7 +71,7 @@ var LineFields = function LineFields(props) {
|
|
|
68
71
|
})
|
|
69
72
|
})), (0, _jsxRuntime.jsx)(_antd.Row, {
|
|
70
73
|
gutter: isLess ? 0 : 24,
|
|
71
|
-
children: (0, _jsxRuntime.jsx)(
|
|
74
|
+
children: (0, _jsxRuntime.jsx)(MemoRenderFields, {
|
|
72
75
|
columns: columns,
|
|
73
76
|
form: form,
|
|
74
77
|
colProps: colProps,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.namesPathTransform = void 0;
|
|
7
|
+
exports.namesPathTransform = exports.memoWith = void 0;
|
|
8
|
+
var _lodash = require("lodash");
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
10
|
/**
|
|
8
11
|
* namesPath生产 [['list', 0, 'min'], ['list', 0, 'max']] => list_0_min-list_0_max
|
|
9
12
|
* @param names name的集合
|
|
@@ -23,4 +26,15 @@ var namesPathTransform = exports.namesPathTransform = function namesPathTransfor
|
|
|
23
26
|
return newNamePath === null || newNamePath === void 0 ? void 0 : newNamePath.map(function (name) {
|
|
24
27
|
return Array.isArray(name) ? name.join('_') : name;
|
|
25
28
|
}).join('-');
|
|
29
|
+
};
|
|
30
|
+
// 比较memo
|
|
31
|
+
var memoWith = exports.memoWith = function memoWith(pre, next) {
|
|
32
|
+
return (0, _lodash.isEqualWith)(pre, next, function (objValue, othValue) {
|
|
33
|
+
if ( /*#__PURE__*/_react.default.isValidElement(objValue) && /*#__PURE__*/_react.default.isValidElement(othValue)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
if ((0, _lodash.isFunction)(objValue) && (0, _lodash.isFunction)(othValue)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
26
40
|
};
|
|
@@ -21,6 +21,7 @@ var _ProConfigProvider = require("../../../../ProConfigProvider");
|
|
|
21
21
|
var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
|
|
22
22
|
var _locale = _interopRequireDefault(require("../../../../locale"));
|
|
23
23
|
var _ = _interopRequireDefault(require("../../.."));
|
|
24
|
+
var _Container = _interopRequireDefault(require("../../Container"));
|
|
24
25
|
var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder"];
|
|
25
26
|
var Text = _antd.Typography.Text;
|
|
26
27
|
var defaultFieldNames = {
|
|
@@ -82,7 +83,8 @@ var ProCascader = function ProCascader(props) {
|
|
|
82
83
|
detailPlaceholder = props.detailPlaceholder,
|
|
83
84
|
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
84
85
|
var _ref3 = _.default.useFieldProps() || {},
|
|
85
|
-
isViewCon = _ref3.isView
|
|
86
|
+
isViewCon = _ref3.isView,
|
|
87
|
+
viewEmpty = _ref3.viewEmpty;
|
|
86
88
|
var addressCode = code || enumCode;
|
|
87
89
|
var realIsView = typeof isView === 'boolean' ? isView : isViewCon;
|
|
88
90
|
var realLevel = Math.max(2, level);
|
|
@@ -238,17 +240,9 @@ var ProCascader = function ProCascader(props) {
|
|
|
238
240
|
}
|
|
239
241
|
}
|
|
240
242
|
};
|
|
241
|
-
return realIsView ?
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
children: (0, _jsxRuntime.jsx)(Text, {
|
|
245
|
-
ellipsis: {
|
|
246
|
-
tooltip: false
|
|
247
|
-
},
|
|
248
|
-
children: viewValue
|
|
249
|
-
})
|
|
250
|
-
}) : (0, _jsxRuntime.jsx)("span", {
|
|
251
|
-
className: className,
|
|
243
|
+
return realIsView ? (0, _jsxRuntime.jsx)(_Container.default, {
|
|
244
|
+
tooltip: !!tooltip,
|
|
245
|
+
viewEmpty: viewEmpty,
|
|
252
246
|
children: viewValue
|
|
253
247
|
}) : (0, _jsxRuntime.jsxs)("div", {
|
|
254
248
|
className: "pro-address ".concat(className),
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FormInstance } from 'antd';
|
|
2
|
+
import { NamePath } from 'antd/lib/form/interface';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
interface Props {
|
|
5
|
+
name?: NamePath;
|
|
6
|
+
names?: NamePath[];
|
|
7
|
+
namesStr?: string;
|
|
8
|
+
originalValues?: any;
|
|
9
|
+
form: FormInstance;
|
|
10
|
+
equalWith?: (preValue: any, curValue: any) => boolean | undefined;
|
|
11
|
+
[name: string]: any;
|
|
12
|
+
}
|
|
13
|
+
declare const Changed: React.FC<Props>;
|
|
14
|
+
export default Changed;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
var _antd = require("antd");
|
|
13
|
+
var _lodash = require("lodash");
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _diffOriginal = require("../../utils/diffOriginal");
|
|
16
|
+
var _excluded = ["name", "names", "namesStr", "originalValues", "form", "equalWith", "children", "type", "originalDiffTip"];
|
|
17
|
+
var Changed = function Changed(props) {
|
|
18
|
+
var name = props.name,
|
|
19
|
+
names = props.names,
|
|
20
|
+
namesStr = props.namesStr,
|
|
21
|
+
originalValues = props.originalValues,
|
|
22
|
+
form = props.form,
|
|
23
|
+
equalWith = props.equalWith,
|
|
24
|
+
children = props.children,
|
|
25
|
+
type = props.type,
|
|
26
|
+
originalDiffTip = props.originalDiffTip,
|
|
27
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
28
|
+
// 不渲染tooltip
|
|
29
|
+
var notWatch = !originalDiffTip || ['FormList', 'ProEditTable'].includes(type);
|
|
30
|
+
var originalValue = (names === null || names === void 0 ? void 0 : names.length) ? names.map(function (name) {
|
|
31
|
+
return (0, _lodash.get)(originalValues, name);
|
|
32
|
+
}) : (0, _lodash.get)(originalValues, name);
|
|
33
|
+
var noChange = !equalWith && (!originalValues || originalValue === undefined);
|
|
34
|
+
var changed = (0, _react.useMemo)(function () {
|
|
35
|
+
if (notWatch || noChange) return false;
|
|
36
|
+
return (0, _diffOriginal.diffOriginal)({
|
|
37
|
+
originalValue: originalValue,
|
|
38
|
+
value: props.value,
|
|
39
|
+
form: form,
|
|
40
|
+
equalWith: equalWith
|
|
41
|
+
// name: namesStr || name,
|
|
42
|
+
});
|
|
43
|
+
}, [notWatch, noChange, props.value, originalValue]);
|
|
44
|
+
var tipContent = (0, _react.useMemo)(function () {
|
|
45
|
+
if (notWatch || noChange) return undefined;
|
|
46
|
+
return /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), {}, {
|
|
47
|
+
isView: true,
|
|
48
|
+
value: originalValue,
|
|
49
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
50
|
+
})) : undefined;
|
|
51
|
+
}, [originalValue, children]);
|
|
52
|
+
if (notWatch || noChange) {
|
|
53
|
+
return /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest));
|
|
54
|
+
}
|
|
55
|
+
return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
56
|
+
open: changed ? undefined : false,
|
|
57
|
+
getPopupContainer: function getPopupContainer(target) {
|
|
58
|
+
return target.parentElement;
|
|
59
|
+
},
|
|
60
|
+
title: (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
61
|
+
children: ["\u521D\u59CB\u503C\uFF1A", tipContent]
|
|
62
|
+
}),
|
|
63
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
64
|
+
className: changed ? 'pro-form-item-changed' : '',
|
|
65
|
+
children: /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest)) : undefined
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
var _default = exports.default = Changed;
|