@zat-design/sisyphus-react 3.9.0-beta.9 → 3.9.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 +26 -16
- package/dist/less.esm.css +22 -14
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +7 -3
- package/es/ProEditTable/components/RenderField/index.js +3 -2
- package/es/ProEditTable/index.js +23 -16
- package/es/ProEditTable/style/index.less +14 -2
- package/es/ProEnum/index.js +5 -3
- package/es/ProEnum/propsType.d.ts +1 -0
- package/es/ProForm/components/base/SwitchCheckbox/index.js +9 -2
- package/es/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
- package/es/ProForm/components/combination/Group/component/ComRender.js +12 -1
- package/es/ProForm/components/combination/ProModalSelect/index.js +28 -28
- package/es/ProForm/components/render/ChangedWrapper.js +1 -1
- package/es/ProForm/components/render/RenderFields.js +3 -2
- package/es/ProForm/components/render/propsType.d.ts +1 -0
- package/es/ProForm/style/index.less +10 -6
- package/es/ProForm/utils/diffOriginal.js +18 -12
- package/es/ProTable/components/FormatColumn/index.d.ts +4 -2
- package/es/ProTable/components/FormatColumn/index.js +54 -33
- package/es/ProTable/components/RenderColumn/index.d.ts +1 -2
- package/es/ProTable/components/RenderColumn/index.js +16 -12
- package/es/ProTable/components/TableResizable/index.js +1 -5
- package/es/ProTable/index.js +0 -1
- package/es/ProTable/propsType.d.ts +1 -2
- package/es/ProTable/utils/index.d.ts +5 -2
- package/es/ProTable/utils/index.js +13 -4
- package/es/style/theme/antd.less +4 -2
- package/es/utils/index.d.ts +1 -1
- package/es/utils/index.js +4 -1
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +5 -1
- package/lib/ProEditTable/components/RenderField/index.js +3 -2
- package/lib/ProEditTable/index.js +23 -16
- package/lib/ProEditTable/style/index.less +14 -2
- package/lib/ProEnum/index.js +5 -3
- package/lib/ProEnum/propsType.d.ts +1 -0
- package/lib/ProForm/components/base/SwitchCheckbox/index.js +9 -2
- package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
- package/lib/ProForm/components/combination/Group/component/ComRender.js +12 -1
- package/lib/ProForm/components/combination/ProModalSelect/index.js +27 -27
- package/lib/ProForm/components/render/ChangedWrapper.js +1 -1
- package/lib/ProForm/components/render/RenderFields.js +3 -2
- package/lib/ProForm/components/render/propsType.d.ts +1 -0
- package/lib/ProForm/style/index.less +10 -6
- package/lib/ProForm/utils/diffOriginal.js +18 -12
- package/lib/ProTable/components/FormatColumn/index.d.ts +4 -2
- package/lib/ProTable/components/FormatColumn/index.js +53 -32
- package/lib/ProTable/components/RenderColumn/index.d.ts +1 -2
- package/lib/ProTable/components/RenderColumn/index.js +16 -12
- package/lib/ProTable/components/TableResizable/index.js +0 -4
- package/lib/ProTable/index.js +0 -1
- package/lib/ProTable/propsType.d.ts +1 -2
- package/lib/ProTable/utils/index.d.ts +5 -2
- package/lib/ProTable/utils/index.js +13 -4
- package/lib/style/theme/antd.less +4 -2
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +4 -1
- package/package.json +1 -1
@@ -102,7 +102,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
|
|
102
102
|
getPopupContainer: function getPopupContainer(trigger) {
|
103
103
|
return scrollFollowParent ? trigger.parentElement : document.body;
|
104
104
|
},
|
105
|
-
overlayClassName: "original-value-
|
105
|
+
overlayClassName: "original-value-tooltip",
|
106
106
|
placement: "topLeft",
|
107
107
|
autoAdjustOverflow: false,
|
108
108
|
title: _jsxs(_Space, {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
3
|
-
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required", "confirm"];
|
3
|
+
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "onDiff", "clearNotShow", "required", "confirm"];
|
4
4
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
5
5
|
import React from 'react';
|
6
6
|
import { isBoolean, isFunction, union, isString } from 'lodash';
|
@@ -69,6 +69,7 @@ var RenderFields = function RenderFields(props) {
|
|
69
69
|
_column$fieldProps = column.fieldProps,
|
70
70
|
fieldProps = _column$fieldProps === void 0 ? {} : _column$fieldProps,
|
71
71
|
equalWith = column.equalWith,
|
72
|
+
onDiff = column.onDiff,
|
72
73
|
_column$clearNotShow = column.clearNotShow,
|
73
74
|
clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
|
74
75
|
columnRequired = column.required,
|
@@ -208,7 +209,7 @@ var RenderFields = function RenderFields(props) {
|
|
208
209
|
fieldProps: isFunction(fieldProps) ? fieldProps : null,
|
209
210
|
isSelect: _isSelect,
|
210
211
|
diffConfig: diffConfig,
|
211
|
-
equalWith: equalWith,
|
212
|
+
equalWith: onDiff || equalWith,
|
212
213
|
requiredOnView: requiredOnView,
|
213
214
|
globalControl: globalControl,
|
214
215
|
viewRender: viewRender
|
@@ -207,6 +207,7 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
|
|
207
207
|
hiddenNames?: string[] | any[];
|
208
208
|
rules?: ProRule[] | ReactiveFunction<Values, ProRule[]>;
|
209
209
|
equalWith?: DiffOriginalParams['equalWith'];
|
210
|
+
onDiff?: DiffOriginalParams['equalWith'];
|
210
211
|
required?: boolean | boolean[] | ReactiveFunction<Values, boolean | boolean[]>;
|
211
212
|
labelRequired?: boolean;
|
212
213
|
toISOString?: boolean;
|
@@ -385,7 +385,7 @@
|
|
385
385
|
}
|
386
386
|
|
387
387
|
// checkbox
|
388
|
-
.@{ant-prefix}-checkbox-group {
|
388
|
+
.@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
|
389
389
|
padding: 5px 0
|
390
390
|
}
|
391
391
|
// switch
|
@@ -412,7 +412,7 @@
|
|
412
412
|
background: @zaui-contract-bg-add !important;
|
413
413
|
|
414
414
|
.@{ant-prefix}-input {
|
415
|
-
background: @zaui-contract-bg !important;
|
415
|
+
background: @zaui-contract-bg-add !important;
|
416
416
|
}
|
417
417
|
|
418
418
|
.@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
|
@@ -463,7 +463,7 @@
|
|
463
463
|
}
|
464
464
|
|
465
465
|
// checkbox
|
466
|
-
.@{ant-prefix}-checkbox-group {
|
466
|
+
.@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
|
467
467
|
padding: 5px 0
|
468
468
|
}
|
469
469
|
// switch
|
@@ -485,10 +485,8 @@
|
|
485
485
|
}
|
486
486
|
}
|
487
487
|
|
488
|
-
.original-value-
|
489
|
-
max-width: 100%;
|
488
|
+
.original-value-tooltip{
|
490
489
|
width: max-content;
|
491
|
-
position: fixed;
|
492
490
|
.changed-tooltip {
|
493
491
|
.original-value-container {
|
494
492
|
.ant-space-item:nth-child(1) {
|
@@ -511,3 +509,9 @@
|
|
511
509
|
}
|
512
510
|
}
|
513
511
|
|
512
|
+
.original-value-tooltip-fixed {
|
513
|
+
position: fixed;
|
514
|
+
}
|
515
|
+
|
516
|
+
|
517
|
+
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import { isEqual, isFunction, isObject } from 'lodash';
|
2
2
|
import { isEmpty } from '../../utils';
|
3
3
|
// 过滤对象中undefined字段
|
4
|
-
// 防止{a: '1'} {a: '1', b: undefined}被认为不相等
|
5
|
-
var
|
4
|
+
// 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
|
5
|
+
var filterObject = function filterObject(data) {
|
6
6
|
if (!isObject(data) || Array.isArray(data) || data === null) return data;
|
7
7
|
var resData = {};
|
8
8
|
Object.keys(data).forEach(function (key) {
|
9
|
-
if (data[key]
|
9
|
+
if (!isEmpty(data[key])) {
|
10
10
|
resData[key] = data[key];
|
11
11
|
}
|
12
12
|
});
|
13
|
+
// 空对象视为null 比较时 null undefined {} [] '' 视为相等
|
14
|
+
if (!Object.keys(resData).length) return null;
|
13
15
|
return resData;
|
14
16
|
};
|
15
17
|
var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
|
@@ -20,18 +22,22 @@ export var diffOriginal = function diffOriginal(params) {
|
|
20
22
|
// 支持传入自定义比较事件
|
21
23
|
if (isFunction(equalWith)) {
|
22
24
|
var diffRes = equalWith(originalValue, value);
|
23
|
-
|
24
|
-
if (
|
25
|
-
|
25
|
+
// 如果返回undefined走内置比较逻辑
|
26
|
+
if (diffRes !== undefined) {
|
27
|
+
if (typeof diffRes === 'boolean') {
|
28
|
+
return diffRes ? 'same' : 'changed';
|
29
|
+
}
|
30
|
+
return diffRes;
|
26
31
|
}
|
27
|
-
return diffRes;
|
28
32
|
}
|
33
|
+
var _value = filterObject(value);
|
34
|
+
var _originalValue = filterObject(originalValue);
|
29
35
|
// 如果原始值为空 且当前有值的话 认为变更类型是新增
|
30
|
-
if (isEmpty(
|
36
|
+
if (isEmpty(_originalValue) && !isEmpty(_value)) {
|
31
37
|
return 'add';
|
32
38
|
}
|
33
|
-
if (Array.isArray(
|
34
|
-
var isSame =
|
39
|
+
if (Array.isArray(_originalValue)) {
|
40
|
+
var isSame = _originalValue.every(function (valueItem, index) {
|
35
41
|
// 如果两个值有一个不是空值, 则进行深比较
|
36
42
|
if (!isEmpty(value === null || value === void 0 ? void 0 : value[index]) || !isEmpty(valueItem)) {
|
37
43
|
return isEqual(value === null || value === void 0 ? void 0 : value[index], valueItem);
|
@@ -40,8 +46,8 @@ export var diffOriginal = function diffOriginal(params) {
|
|
40
46
|
});
|
41
47
|
return isSame ? 'same' : 'changed';
|
42
48
|
}
|
43
|
-
if (!
|
44
|
-
return isEqual(
|
49
|
+
if (!isEmpty(_originalValue) || !isEmpty(_value)) {
|
50
|
+
return isEqual(_value, _originalValue) ? 'same' : 'changed';
|
45
51
|
}
|
46
52
|
return 'same';
|
47
53
|
};
|
@@ -1,10 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* 调整点:
|
3
|
+
*/
|
1
4
|
import React from 'react';
|
2
5
|
import { ProTableColumn } from '../../propsType';
|
3
|
-
export declare const formatColumn: ({ column, originalObj, rowKey,
|
6
|
+
export declare const formatColumn: ({ column, originalObj, rowKey, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, diffConfig, }: {
|
4
7
|
column: ProTableColumn;
|
5
8
|
originalObj: any;
|
6
9
|
rowKey: any;
|
7
|
-
diffToolTip?: boolean;
|
8
10
|
wrapToolTipProps?: any;
|
9
11
|
scroll?: any;
|
10
12
|
onUpdateMinWidth?: any;
|
@@ -2,13 +2,16 @@ import "antd/es/space/style";
|
|
2
2
|
import _Space from "antd/es/space";
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
5
|
-
var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "
|
5
|
+
var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
7
|
+
/**
|
8
|
+
* 调整点:
|
9
|
+
*/
|
7
10
|
import { isValidElement } from 'react';
|
8
11
|
import moment from 'moment';
|
9
12
|
import classnames from 'classnames';
|
10
13
|
import ReactDOM from 'react-dom';
|
11
|
-
import { isEqual, isFunction, isString, isObject } from 'lodash';
|
14
|
+
import { isEqual, isFunction, isString, isObject, isBoolean } from 'lodash';
|
12
15
|
import { tools } from '@zat-design/utils';
|
13
16
|
import TooltipTitle from '../TooltipTitle';
|
14
17
|
import RenderColumn from '../RenderColumn';
|
@@ -50,7 +53,6 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
50
53
|
var column = _ref2.column,
|
51
54
|
originalObj = _ref2.originalObj,
|
52
55
|
rowKey = _ref2.rowKey,
|
53
|
-
diffToolTip = _ref2.diffToolTip,
|
54
56
|
wrapToolTipProps = _ref2.wrapToolTipProps,
|
55
57
|
scroll = _ref2.scroll,
|
56
58
|
onUpdateMinWidth = _ref2.onUpdateMinWidth,
|
@@ -71,7 +73,6 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
71
73
|
prefix = column.prefix,
|
72
74
|
suffix = column.suffix,
|
73
75
|
dataIndex = column.dataIndex,
|
74
|
-
originalDiffTip = column.originalDiffTip,
|
75
76
|
_column$toolTipProps = column.toolTipProps,
|
76
77
|
toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
|
77
78
|
minWidth = column.minWidth,
|
@@ -87,7 +88,6 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
87
88
|
callback: onUpdateMinWidth
|
88
89
|
});
|
89
90
|
var _toolTipProps = _objectSpread(_objectSpread({}, toolTipProps), wrapToolTipProps);
|
90
|
-
var _originalDiffTip = (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource) || (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.toolTip);
|
91
91
|
// 前缀处理
|
92
92
|
var prefixNode = function prefixNode(value, record, index) {
|
93
93
|
if (!prefix) {
|
@@ -121,10 +121,13 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
121
121
|
column.render = function (value, record, index) {
|
122
122
|
var isFn = isFunction(originalRender);
|
123
123
|
var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
|
124
|
-
var
|
124
|
+
var originalResult = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
|
125
|
+
var originalValue = originalResult.originalValue;
|
126
|
+
var isChanged = originalResult.isChanged;
|
125
127
|
var isInNewRowFlag = isInNewRow(record);
|
128
|
+
otherProps.isChanged = isChanged;
|
126
129
|
// 存在比对
|
127
|
-
if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender)) {
|
130
|
+
if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
|
128
131
|
var _originalObj$record$r;
|
129
132
|
var diffResult = otherProps.viewRender({
|
130
133
|
originalValue: originalValue,
|
@@ -133,8 +136,11 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
133
136
|
record: record,
|
134
137
|
index: index
|
135
138
|
});
|
139
|
+
// viewRender 返回值为 false 时,不显示对比
|
140
|
+
if (isBoolean(diffResult)) {
|
141
|
+
otherProps.isChanged = false;
|
142
|
+
}
|
136
143
|
originalValue = diffResult;
|
137
|
-
otherProps.diffChange = diffResult;
|
138
144
|
}
|
139
145
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
140
146
|
valueType: valueType,
|
@@ -144,7 +150,6 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
144
150
|
value: _value,
|
145
151
|
node: _value,
|
146
152
|
currentValue: _value,
|
147
|
-
originalDiffTip: _originalDiffTip,
|
148
153
|
toolTipProps: _toolTipProps,
|
149
154
|
minWidth: minWidth,
|
150
155
|
isInNewRowFlag: isInNewRowFlag
|
@@ -171,7 +176,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
171
176
|
var multiple = valueType === 'percentage' ? 100 : 1000;
|
172
177
|
var realValue = tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
|
173
178
|
var renderValue = getDecimalDigits(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
|
174
|
-
var
|
179
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
180
|
+
var originalValue = originalResult.originalValue;
|
181
|
+
var isChanged = originalResult.isChanged;
|
182
|
+
otherProps.isChanged = isChanged;
|
175
183
|
var originalRealValue = tools.calc(Number(originalValue || null), '*', multiple);
|
176
184
|
var originalRenderValue = getDecimalDigits(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
|
177
185
|
if (isEmpty(originalValue)) {
|
@@ -192,13 +200,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
192
200
|
var isInNewRowFlag = isInNewRow(record);
|
193
201
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
194
202
|
valueType: valueType,
|
195
|
-
originalValue: originalValue ===
|
203
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
196
204
|
ellipsis: ellipsis,
|
197
205
|
width: width,
|
198
206
|
node: node,
|
199
207
|
value: value,
|
200
208
|
currentValue: renderValue,
|
201
|
-
originalDiffTip: _originalDiffTip,
|
202
209
|
toolTipProps: _toolTipProps,
|
203
210
|
minWidth: minWidth,
|
204
211
|
isInNewRowFlag: isInNewRowFlag
|
@@ -209,7 +216,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
209
216
|
column.render = function (value, record, index) {
|
210
217
|
var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
|
211
218
|
var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
212
|
-
var
|
219
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
220
|
+
var originalValue = originalResult.originalValue;
|
221
|
+
var isChanged = originalResult.isChanged;
|
222
|
+
otherProps.isChanged = isChanged;
|
213
223
|
var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
|
214
224
|
var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
215
225
|
if (isEmpty(originalValue)) {
|
@@ -230,13 +240,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
230
240
|
var isInNewRowFlag = isInNewRow(record);
|
231
241
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
232
242
|
valueType: valueType,
|
233
|
-
originalValue: originalValue ===
|
243
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
234
244
|
ellipsis: ellipsis,
|
235
245
|
width: width,
|
236
246
|
node: node,
|
237
247
|
value: value,
|
238
248
|
currentValue: renderValue,
|
239
|
-
originalDiffTip: _originalDiffTip,
|
240
249
|
toolTipProps: _toolTipProps,
|
241
250
|
minWidth: minWidth,
|
242
251
|
isInNewRowFlag: isInNewRowFlag
|
@@ -246,7 +255,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
246
255
|
column.render = function (value, record, index) {
|
247
256
|
var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
|
248
257
|
var renderValue = (_moment = moment(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
|
249
|
-
var
|
258
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
259
|
+
var originalValue = originalResult.originalValue;
|
260
|
+
var isChanged = originalResult.isChanged;
|
261
|
+
otherProps.isChanged = isChanged;
|
250
262
|
var originalRenderValue = (_moment2 = moment(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
|
251
263
|
switch (valueType) {
|
252
264
|
case 'date':
|
@@ -291,13 +303,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
291
303
|
var isInNewRowFlag = isInNewRow(record);
|
292
304
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
293
305
|
valueType: valueType,
|
294
|
-
originalValue: originalValue ===
|
306
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
295
307
|
ellipsis: ellipsis,
|
296
308
|
width: width,
|
297
309
|
node: node,
|
298
310
|
value: value,
|
299
311
|
currentValue: renderValue,
|
300
|
-
originalDiffTip: _originalDiffTip,
|
301
312
|
toolTipProps: _toolTipProps,
|
302
313
|
minWidth: minWidth,
|
303
314
|
isInNewRowFlag: isInNewRowFlag
|
@@ -307,7 +318,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
307
318
|
column.render = function (value, record, index) {
|
308
319
|
var realCode = typeof code === 'function' ? code(value, record) : code;
|
309
320
|
var renderValue = getEnumLabel(realCode, value, valueType === 'enumCodeName');
|
310
|
-
var
|
321
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
322
|
+
var originalValue = originalResult.originalValue;
|
323
|
+
var isChanged = originalResult.isChanged;
|
324
|
+
otherProps.isChanged = isChanged;
|
311
325
|
var originalRenderValue = getEnumLabel(realCode, originalValue, valueType === 'enumCodeName');
|
312
326
|
if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
|
313
327
|
var _column$codeValues$fi;
|
@@ -332,13 +346,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
332
346
|
var isInNewRowFlag = isInNewRow(record);
|
333
347
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
334
348
|
valueType: valueType,
|
335
|
-
originalValue: originalValue ===
|
349
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
336
350
|
ellipsis: ellipsis,
|
337
351
|
width: width,
|
338
352
|
node: node,
|
339
353
|
value: value,
|
340
354
|
currentValue: renderValue,
|
341
|
-
originalDiffTip: _originalDiffTip,
|
342
355
|
toolTipProps: _toolTipProps,
|
343
356
|
minWidth: minWidth,
|
344
357
|
isInNewRowFlag: isInNewRowFlag
|
@@ -347,7 +360,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
347
360
|
} else if (precision || prefix || suffix) {
|
348
361
|
column.render = function (value, record, index) {
|
349
362
|
var renderValue = value === 'number' ? value.toFixed(precision) : value;
|
350
|
-
var
|
363
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
364
|
+
var originalValue = originalResult.originalValue;
|
365
|
+
var isChanged = originalResult.isChanged;
|
366
|
+
otherProps.isChanged = isChanged;
|
351
367
|
var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
|
352
368
|
var node = _jsxs(_Space, {
|
353
369
|
size: 8,
|
@@ -367,13 +383,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
367
383
|
var isInNewRowFlag = isInNewRow(record);
|
368
384
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
369
385
|
valueType: valueType,
|
370
|
-
originalValue: originalValue ===
|
386
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
371
387
|
ellipsis: ellipsis,
|
372
388
|
width: width,
|
373
389
|
node: node,
|
374
390
|
value: value,
|
375
391
|
currentValue: renderValue,
|
376
|
-
originalDiffTip: _originalDiffTip,
|
377
392
|
toolTipProps: _toolTipProps,
|
378
393
|
minWidth: minWidth,
|
379
394
|
isInNewRowFlag: isInNewRowFlag
|
@@ -383,7 +398,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
383
398
|
column.render = function (value, record, index) {
|
384
399
|
var _realValue$filter;
|
385
400
|
var realValue = transform ? transform(value, record) : value;
|
386
|
-
var
|
401
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
402
|
+
var originalValue = originalResult.originalValue;
|
403
|
+
var isChanged = originalResult.isChanged;
|
404
|
+
otherProps.isChanged = isChanged;
|
387
405
|
var originalRealValue = transform ? transform(originalValue, record) : originalValue;
|
388
406
|
var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
|
389
407
|
return !!item;
|
@@ -422,13 +440,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
422
440
|
var isInNewRowFlag = isInNewRow(record);
|
423
441
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
424
442
|
valueType: valueType,
|
425
|
-
originalValue: originalValue ===
|
443
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
426
444
|
ellipsis: ellipsis,
|
427
445
|
width: width,
|
428
446
|
node: renderNode,
|
429
447
|
value: renderValue,
|
430
448
|
currentValue: renderValue,
|
431
|
-
originalDiffTip: _originalDiffTip,
|
432
449
|
toolTipProps: _toolTipProps,
|
433
450
|
minWidth: minWidth,
|
434
451
|
isInNewRowFlag: isInNewRowFlag
|
@@ -455,7 +472,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
455
472
|
};
|
456
473
|
} else if (ellipsis) {
|
457
474
|
column.render = function (value, record, index) {
|
458
|
-
var
|
475
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
476
|
+
var originalValue = originalResult.originalValue;
|
477
|
+
var isChanged = originalResult.isChanged;
|
478
|
+
otherProps.isChanged = isChanged;
|
459
479
|
if (!value && value !== 0 && value === originalValue) {
|
460
480
|
_jsx("div", {
|
461
481
|
style: {
|
@@ -469,13 +489,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
469
489
|
size: 8,
|
470
490
|
children: [prefixNode(value, record, index), _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
471
491
|
valueType: valueType,
|
472
|
-
originalValue: originalValue ===
|
492
|
+
originalValue: originalValue === null ? null : originalValue || '-',
|
473
493
|
ellipsis: ellipsis,
|
474
494
|
width: width,
|
475
495
|
node: value,
|
476
496
|
value: value,
|
477
497
|
currentValue: value || '-',
|
478
|
-
originalDiffTip: _originalDiffTip,
|
479
498
|
toolTipProps: _toolTipProps,
|
480
499
|
minWidth: minWidth,
|
481
500
|
isInNewRowFlag: isInNewRowFlag
|
@@ -484,7 +503,10 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
484
503
|
};
|
485
504
|
} else {
|
486
505
|
column.render = function (value, record, index) {
|
487
|
-
var
|
506
|
+
var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
507
|
+
var originalValue = originalResult.originalValue;
|
508
|
+
var isChanged = originalResult.isChanged;
|
509
|
+
otherProps.isChanged = isChanged;
|
488
510
|
var node = _jsxs(_Space, {
|
489
511
|
size: 8,
|
490
512
|
children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
|
@@ -500,13 +522,12 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
500
522
|
var isInNewRowFlag = isInNewRow(record);
|
501
523
|
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
502
524
|
valueType: valueType,
|
503
|
-
originalValue: originalValue ===
|
525
|
+
originalValue: originalValue === null ? null : originalValue || '-',
|
504
526
|
ellipsis: ellipsis,
|
505
527
|
width: width,
|
506
528
|
node: node,
|
507
529
|
value: value,
|
508
530
|
currentValue: value || '-',
|
509
|
-
originalDiffTip: _originalDiffTip,
|
510
531
|
toolTipProps: _toolTipProps,
|
511
532
|
minWidth: minWidth,
|
512
533
|
isInNewRowFlag: isInNewRowFlag
|
@@ -6,14 +6,13 @@ interface Props {
|
|
6
6
|
value?: any;
|
7
7
|
currentValue?: any;
|
8
8
|
copyable?: boolean;
|
9
|
-
originalDiffTip?: boolean;
|
10
9
|
ellipsis?: any;
|
11
10
|
width?: number | string;
|
12
11
|
originalValue?: any;
|
13
12
|
toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
|
14
13
|
minWidth?: number;
|
15
14
|
isInNewRowFlag?: boolean;
|
16
|
-
|
15
|
+
isChanged?: boolean;
|
17
16
|
}
|
18
17
|
declare const RenderColumn: FC<Props>;
|
19
18
|
export default RenderColumn;
|
@@ -8,6 +8,7 @@ import "antd/es/typography/style";
|
|
8
8
|
import _Typography from "antd/es/typography";
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
10
10
|
import { useSetState } from 'ahooks';
|
11
|
+
import { isBoolean } from 'lodash';
|
11
12
|
import classNames from 'classnames';
|
12
13
|
import { CheckOutlined } from '@ant-design/icons';
|
13
14
|
import { ReactSVG } from 'react-svg';
|
@@ -25,7 +26,6 @@ var RenderColumn = function RenderColumn(props) {
|
|
25
26
|
ellipsis = props.ellipsis,
|
26
27
|
width = props.width,
|
27
28
|
originalValue = props.originalValue,
|
28
|
-
originalDiffTip = props.originalDiffTip,
|
29
29
|
_props$toolTipProps = props.toolTipProps,
|
30
30
|
toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
|
31
31
|
minWidth = props.minWidth,
|
@@ -37,11 +37,12 @@ var RenderColumn = function RenderColumn(props) {
|
|
37
37
|
tooltip = _useSetState2[0].tooltip,
|
38
38
|
setState = _useSetState2[1];
|
39
39
|
var cellDiffCls = classNames({
|
40
|
-
'varied-cell':
|
40
|
+
'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
|
41
41
|
});
|
42
|
-
|
42
|
+
// 比对场景走的逻辑
|
43
|
+
if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
|
43
44
|
var renderNode = value ? node : '-';
|
44
|
-
if (ellipsis ||
|
45
|
+
if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
|
45
46
|
renderNode = _jsx(Text, {
|
46
47
|
style: {
|
47
48
|
width: currentValue === '-' ? 32.5 : width,
|
@@ -52,29 +53,35 @@ var RenderColumn = function RenderColumn(props) {
|
|
52
53
|
},
|
53
54
|
children: ellipsis ? currentValue : renderNode
|
54
55
|
});
|
55
|
-
if ((props === null || props === void 0 ? void 0 : props.
|
56
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
56
57
|
return renderNode;
|
57
58
|
}
|
58
59
|
if (Array.isArray(originalValue)) {
|
59
60
|
console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
|
60
61
|
}
|
62
|
+
var originalValueCalc = function originalValueCalc() {
|
63
|
+
if (Array.isArray(originalValue)) {
|
64
|
+
return null;
|
65
|
+
}
|
66
|
+
return !isEmpty(originalValue) ? originalValue : '-';
|
67
|
+
};
|
61
68
|
return _jsx(_Tooltip, _objectSpread(_objectSpread({
|
62
69
|
className: cellDiffCls,
|
63
70
|
style: {
|
64
71
|
width: width,
|
65
72
|
minWidth: minWidth
|
66
73
|
},
|
67
|
-
overlayClassName: "original-value-
|
74
|
+
overlayClassName: "original-value-tooltip",
|
68
75
|
placement: "topLeft",
|
69
76
|
autoAdjustOverflow: false,
|
70
77
|
title: _jsx(_Space, {
|
71
78
|
direction: "vertical",
|
72
79
|
className: "changed-tooltip",
|
73
|
-
children:
|
80
|
+
children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
|
74
81
|
children: [_jsxs(_Space, {
|
75
82
|
align: "start",
|
76
83
|
className: "original-value-container",
|
77
|
-
children: ["\u521D\u59CB\u503C\uFF1A",
|
84
|
+
children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
|
78
85
|
}), _jsx(_Space, {
|
79
86
|
className: "current-value-container",
|
80
87
|
children: ellipsis ? _jsxs(_Space, {
|
@@ -90,7 +97,7 @@ var RenderColumn = function RenderColumn(props) {
|
|
90
97
|
children: renderNode
|
91
98
|
}));
|
92
99
|
}
|
93
|
-
if ((props === null || props === void 0 ? void 0 : props.
|
100
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
94
101
|
return renderNode;
|
95
102
|
}
|
96
103
|
return _jsx("span", {
|
@@ -143,15 +150,12 @@ var RenderColumn = function RenderColumn(props) {
|
|
143
150
|
range.setStart(box, 0);
|
144
151
|
range.setEnd(box, box.childNodes.length);
|
145
152
|
var rangeWidth = range.getBoundingClientRect().width;
|
146
|
-
var rangeHeight = range.getBoundingClientRect().height;
|
147
|
-
var contentWidth = rangeWidth - Math.floor(rangeWidth);
|
148
153
|
var _getPadding = getPadding(box),
|
149
154
|
pLeft = _getPadding.pLeft,
|
150
155
|
pRight = _getPadding.pRight,
|
151
156
|
pTop = _getPadding.pTop,
|
152
157
|
pBottom = _getPadding.pBottom;
|
153
158
|
var horizontalPadding = pLeft + pRight;
|
154
|
-
var verticalPadding = pTop + pBottom;
|
155
159
|
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
156
160
|
return true;
|
157
161
|
}
|
@@ -3,10 +3,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
4
4
|
var _excluded = ["onDrag", "width", "minwidth"];
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
-
import { useState
|
6
|
+
import { useState } from 'react';
|
7
7
|
import { Resizable } from 'react-resizable';
|
8
8
|
import classnames from 'classnames';
|
9
|
-
import { TableContext } from '../../index';
|
10
9
|
import { getParentElement } from '../FormatColumn';
|
11
10
|
var ResizableTitle = function ResizableTitle(props) {
|
12
11
|
var _restProps$className;
|
@@ -15,9 +14,6 @@ var ResizableTitle = function ResizableTitle(props) {
|
|
15
14
|
_props$minwidth = props.minwidth,
|
16
15
|
minwidth = _props$minwidth === void 0 ? 50 : _props$minwidth,
|
17
16
|
restProps = _objectWithoutProperties(props, _excluded);
|
18
|
-
var _useContext = useContext(TableContext),
|
19
|
-
tableConfig = _useContext.tableConfig,
|
20
|
-
Storage = _useContext.Storage;
|
21
17
|
// 添加偏移量
|
22
18
|
var _useState = useState(0),
|
23
19
|
_useState2 = _slicedToArray(_useState, 2),
|
package/es/ProTable/index.js
CHANGED
@@ -214,7 +214,6 @@ var ProTable = function ProTable(props) {
|
|
214
214
|
originalObj: originalObj,
|
215
215
|
rowKey: props.rowKey,
|
216
216
|
diffConfig: diffConfig,
|
217
|
-
diffToolTip: toolTip,
|
218
217
|
wrapToolTipProps: wrapToolTipProps,
|
219
218
|
scroll: _scroll,
|
220
219
|
onUpdateMinWidth: function onUpdateMinWidth(w) {
|
@@ -31,7 +31,6 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
31
31
|
value: string | number;
|
32
32
|
}[];
|
33
33
|
copyable?: boolean;
|
34
|
-
originalDiffTip?: boolean;
|
35
34
|
prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
|
36
35
|
suffix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
|
37
36
|
tooltip?: ReactNode | {
|
@@ -46,7 +45,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
46
45
|
originValue: any;
|
47
46
|
}) => boolean;
|
48
47
|
viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
|
49
|
-
|
48
|
+
isChanged?: boolean | null;
|
50
49
|
}
|
51
50
|
export interface CreateTreeFromArrayOptions {
|
52
51
|
itemKey?: string;
|
@@ -11,9 +11,12 @@ export declare const getDecimalDigits: (num?: number) => number;
|
|
11
11
|
* @param any value
|
12
12
|
* @param any originalObj
|
13
13
|
* @param {any} dataIndex
|
14
|
-
* @return {any}
|
14
|
+
* @return {any} isChanged 返回bool值,表示存在比对
|
15
15
|
*/
|
16
|
-
export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) =>
|
16
|
+
export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => {
|
17
|
+
originalValue: any;
|
18
|
+
isChanged: boolean;
|
19
|
+
};
|
17
20
|
export declare const getColumnDataIndex: (dataIndex: string | string[]) => string;
|
18
21
|
/**
|
19
22
|
* 判断数据是否为Response<List<any>>结构
|