@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
@@ -7,15 +7,17 @@ exports.diffOriginal = void 0;
|
|
7
7
|
var _lodash = require("lodash");
|
8
8
|
var _utils = require("../../utils");
|
9
9
|
// 过滤对象中undefined字段
|
10
|
-
// 防止{a: '1'} {a: '1', b: undefined}被认为不相等
|
11
|
-
var
|
10
|
+
// 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
|
11
|
+
var filterObject = function filterObject(data) {
|
12
12
|
if (!(0, _lodash.isObject)(data) || Array.isArray(data) || data === null) return data;
|
13
13
|
var resData = {};
|
14
14
|
Object.keys(data).forEach(function (key) {
|
15
|
-
if (data[key]
|
15
|
+
if (!(0, _utils.isEmpty)(data[key])) {
|
16
16
|
resData[key] = data[key];
|
17
17
|
}
|
18
18
|
});
|
19
|
+
// 空对象视为null 比较时 null undefined {} [] '' 视为相等
|
20
|
+
if (!Object.keys(resData).length) return null;
|
19
21
|
return resData;
|
20
22
|
};
|
21
23
|
var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
|
@@ -26,18 +28,22 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
|
|
26
28
|
// 支持传入自定义比较事件
|
27
29
|
if ((0, _lodash.isFunction)(equalWith)) {
|
28
30
|
var diffRes = equalWith(originalValue, value);
|
29
|
-
|
30
|
-
if (
|
31
|
-
|
31
|
+
// 如果返回undefined走内置比较逻辑
|
32
|
+
if (diffRes !== undefined) {
|
33
|
+
if (typeof diffRes === 'boolean') {
|
34
|
+
return diffRes ? 'same' : 'changed';
|
35
|
+
}
|
36
|
+
return diffRes;
|
32
37
|
}
|
33
|
-
return diffRes;
|
34
38
|
}
|
39
|
+
var _value = filterObject(value);
|
40
|
+
var _originalValue = filterObject(originalValue);
|
35
41
|
// 如果原始值为空 且当前有值的话 认为变更类型是新增
|
36
|
-
if ((0, _utils.isEmpty)(
|
42
|
+
if ((0, _utils.isEmpty)(_originalValue) && !(0, _utils.isEmpty)(_value)) {
|
37
43
|
return 'add';
|
38
44
|
}
|
39
|
-
if (Array.isArray(
|
40
|
-
var isSame =
|
45
|
+
if (Array.isArray(_originalValue)) {
|
46
|
+
var isSame = _originalValue.every(function (valueItem, index) {
|
41
47
|
// 如果两个值有一个不是空值, 则进行深比较
|
42
48
|
if (!(0, _utils.isEmpty)(value === null || value === void 0 ? void 0 : value[index]) || !(0, _utils.isEmpty)(valueItem)) {
|
43
49
|
return (0, _lodash.isEqual)(value === null || value === void 0 ? void 0 : value[index], valueItem);
|
@@ -46,8 +52,8 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
|
|
46
52
|
});
|
47
53
|
return isSame ? 'same' : 'changed';
|
48
54
|
}
|
49
|
-
if (!
|
50
|
-
return (0, _lodash.isEqual)(
|
55
|
+
if (!(0, _utils.isEmpty)(_originalValue) || !(0, _utils.isEmpty)(_value)) {
|
56
|
+
return (0, _lodash.isEqual)(_value, _originalValue) ? 'same' : 'changed';
|
51
57
|
}
|
52
58
|
return 'same';
|
53
59
|
};
|
@@ -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;
|
@@ -21,7 +21,10 @@ var _utils2 = require("../../utils");
|
|
21
21
|
var _utils3 = require("../../../utils");
|
22
22
|
var _getEnumLabel = _interopRequireDefault(require("../../../ProEnum/utils/getEnumLabel"));
|
23
23
|
var _ProForm = _interopRequireDefault(require("../../../ProForm"));
|
24
|
-
var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "
|
24
|
+
var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
|
25
|
+
/**
|
26
|
+
* 调整点:
|
27
|
+
*/
|
25
28
|
var isReactElement = function isReactElement(element) {
|
26
29
|
return /*#__PURE__*/(0, _react.isValidElement)(element);
|
27
30
|
};
|
@@ -56,7 +59,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
56
59
|
var column = _ref2.column,
|
57
60
|
originalObj = _ref2.originalObj,
|
58
61
|
rowKey = _ref2.rowKey,
|
59
|
-
diffToolTip = _ref2.diffToolTip,
|
60
62
|
wrapToolTipProps = _ref2.wrapToolTipProps,
|
61
63
|
scroll = _ref2.scroll,
|
62
64
|
onUpdateMinWidth = _ref2.onUpdateMinWidth,
|
@@ -77,7 +79,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
77
79
|
prefix = column.prefix,
|
78
80
|
suffix = column.suffix,
|
79
81
|
dataIndex = column.dataIndex,
|
80
|
-
originalDiffTip = column.originalDiffTip,
|
81
82
|
_column$toolTipProps = column.toolTipProps,
|
82
83
|
toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
|
83
84
|
minWidth = column.minWidth,
|
@@ -93,7 +94,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
93
94
|
callback: onUpdateMinWidth
|
94
95
|
});
|
95
96
|
var _toolTipProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, toolTipProps), wrapToolTipProps);
|
96
|
-
var _originalDiffTip = (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource) || (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.toolTip);
|
97
97
|
// 前缀处理
|
98
98
|
var prefixNode = function prefixNode(value, record, index) {
|
99
99
|
if (!prefix) {
|
@@ -127,10 +127,13 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
127
127
|
column.render = function (value, record, index) {
|
128
128
|
var isFn = (0, _lodash.isFunction)(originalRender);
|
129
129
|
var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
|
130
|
-
var
|
130
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
|
131
|
+
var originalValue = originalResult.originalValue;
|
132
|
+
var isChanged = originalResult.isChanged;
|
131
133
|
var isInNewRowFlag = isInNewRow(record);
|
134
|
+
otherProps.isChanged = isChanged;
|
132
135
|
// 存在比对
|
133
|
-
if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender)) {
|
136
|
+
if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
|
134
137
|
var _originalObj$record$r;
|
135
138
|
var diffResult = otherProps.viewRender({
|
136
139
|
originalValue: originalValue,
|
@@ -139,8 +142,11 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
139
142
|
record: record,
|
140
143
|
index: index
|
141
144
|
});
|
145
|
+
// viewRender 返回值为 false 时,不显示对比
|
146
|
+
if ((0, _lodash.isBoolean)(diffResult)) {
|
147
|
+
otherProps.isChanged = false;
|
148
|
+
}
|
142
149
|
originalValue = diffResult;
|
143
|
-
otherProps.diffChange = diffResult;
|
144
150
|
}
|
145
151
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
146
152
|
valueType: valueType,
|
@@ -150,7 +156,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
150
156
|
value: _value,
|
151
157
|
node: _value,
|
152
158
|
currentValue: _value,
|
153
|
-
originalDiffTip: _originalDiffTip,
|
154
159
|
toolTipProps: _toolTipProps,
|
155
160
|
minWidth: minWidth,
|
156
161
|
isInNewRowFlag: isInNewRowFlag
|
@@ -177,7 +182,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
177
182
|
var multiple = valueType === 'percentage' ? 100 : 1000;
|
178
183
|
var realValue = _utils.tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
|
179
184
|
var renderValue = (0, _utils2.getDecimalDigits)(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
|
180
|
-
var
|
185
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
186
|
+
var originalValue = originalResult.originalValue;
|
187
|
+
var isChanged = originalResult.isChanged;
|
188
|
+
otherProps.isChanged = isChanged;
|
181
189
|
var originalRealValue = _utils.tools.calc(Number(originalValue || null), '*', multiple);
|
182
190
|
var originalRenderValue = (0, _utils2.getDecimalDigits)(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
|
183
191
|
if ((0, _utils3.isEmpty)(originalValue)) {
|
@@ -198,13 +206,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
198
206
|
var isInNewRowFlag = isInNewRow(record);
|
199
207
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
200
208
|
valueType: valueType,
|
201
|
-
originalValue: originalValue ===
|
209
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
202
210
|
ellipsis: ellipsis,
|
203
211
|
width: width,
|
204
212
|
node: node,
|
205
213
|
value: value,
|
206
214
|
currentValue: renderValue,
|
207
|
-
originalDiffTip: _originalDiffTip,
|
208
215
|
toolTipProps: _toolTipProps,
|
209
216
|
minWidth: minWidth,
|
210
217
|
isInNewRowFlag: isInNewRowFlag
|
@@ -215,7 +222,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
215
222
|
column.render = function (value, record, index) {
|
216
223
|
var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
|
217
224
|
var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
218
|
-
var
|
225
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
226
|
+
var originalValue = originalResult.originalValue;
|
227
|
+
var isChanged = originalResult.isChanged;
|
228
|
+
otherProps.isChanged = isChanged;
|
219
229
|
var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
|
220
230
|
var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
221
231
|
if ((0, _utils3.isEmpty)(originalValue)) {
|
@@ -236,13 +246,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
236
246
|
var isInNewRowFlag = isInNewRow(record);
|
237
247
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
238
248
|
valueType: valueType,
|
239
|
-
originalValue: originalValue ===
|
249
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
240
250
|
ellipsis: ellipsis,
|
241
251
|
width: width,
|
242
252
|
node: node,
|
243
253
|
value: value,
|
244
254
|
currentValue: renderValue,
|
245
|
-
originalDiffTip: _originalDiffTip,
|
246
255
|
toolTipProps: _toolTipProps,
|
247
256
|
minWidth: minWidth,
|
248
257
|
isInNewRowFlag: isInNewRowFlag
|
@@ -252,7 +261,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
252
261
|
column.render = function (value, record, index) {
|
253
262
|
var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
|
254
263
|
var renderValue = (_moment = (0, _moment15.default)(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
|
255
|
-
var
|
264
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
265
|
+
var originalValue = originalResult.originalValue;
|
266
|
+
var isChanged = originalResult.isChanged;
|
267
|
+
otherProps.isChanged = isChanged;
|
256
268
|
var originalRenderValue = (_moment2 = (0, _moment15.default)(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
|
257
269
|
switch (valueType) {
|
258
270
|
case 'date':
|
@@ -297,13 +309,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
297
309
|
var isInNewRowFlag = isInNewRow(record);
|
298
310
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
299
311
|
valueType: valueType,
|
300
|
-
originalValue: originalValue ===
|
312
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
301
313
|
ellipsis: ellipsis,
|
302
314
|
width: width,
|
303
315
|
node: node,
|
304
316
|
value: value,
|
305
317
|
currentValue: renderValue,
|
306
|
-
originalDiffTip: _originalDiffTip,
|
307
318
|
toolTipProps: _toolTipProps,
|
308
319
|
minWidth: minWidth,
|
309
320
|
isInNewRowFlag: isInNewRowFlag
|
@@ -313,7 +324,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
313
324
|
column.render = function (value, record, index) {
|
314
325
|
var realCode = typeof code === 'function' ? code(value, record) : code;
|
315
326
|
var renderValue = (0, _getEnumLabel.default)(realCode, value, valueType === 'enumCodeName');
|
316
|
-
var
|
327
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
328
|
+
var originalValue = originalResult.originalValue;
|
329
|
+
var isChanged = originalResult.isChanged;
|
330
|
+
otherProps.isChanged = isChanged;
|
317
331
|
var originalRenderValue = (0, _getEnumLabel.default)(realCode, originalValue, valueType === 'enumCodeName');
|
318
332
|
if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
|
319
333
|
var _column$codeValues$fi;
|
@@ -338,13 +352,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
338
352
|
var isInNewRowFlag = isInNewRow(record);
|
339
353
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
340
354
|
valueType: valueType,
|
341
|
-
originalValue: originalValue ===
|
355
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
342
356
|
ellipsis: ellipsis,
|
343
357
|
width: width,
|
344
358
|
node: node,
|
345
359
|
value: value,
|
346
360
|
currentValue: renderValue,
|
347
|
-
originalDiffTip: _originalDiffTip,
|
348
361
|
toolTipProps: _toolTipProps,
|
349
362
|
minWidth: minWidth,
|
350
363
|
isInNewRowFlag: isInNewRowFlag
|
@@ -353,7 +366,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
353
366
|
} else if (precision || prefix || suffix) {
|
354
367
|
column.render = function (value, record, index) {
|
355
368
|
var renderValue = value === 'number' ? value.toFixed(precision) : value;
|
356
|
-
var
|
369
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
370
|
+
var originalValue = originalResult.originalValue;
|
371
|
+
var isChanged = originalResult.isChanged;
|
372
|
+
otherProps.isChanged = isChanged;
|
357
373
|
var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
|
358
374
|
var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
|
359
375
|
size: 8,
|
@@ -373,13 +389,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
373
389
|
var isInNewRowFlag = isInNewRow(record);
|
374
390
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
375
391
|
valueType: valueType,
|
376
|
-
originalValue: originalValue ===
|
392
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
377
393
|
ellipsis: ellipsis,
|
378
394
|
width: width,
|
379
395
|
node: node,
|
380
396
|
value: value,
|
381
397
|
currentValue: renderValue,
|
382
|
-
originalDiffTip: _originalDiffTip,
|
383
398
|
toolTipProps: _toolTipProps,
|
384
399
|
minWidth: minWidth,
|
385
400
|
isInNewRowFlag: isInNewRowFlag
|
@@ -389,7 +404,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
389
404
|
column.render = function (value, record, index) {
|
390
405
|
var _realValue$filter;
|
391
406
|
var realValue = transform ? transform(value, record) : value;
|
392
|
-
var
|
407
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
408
|
+
var originalValue = originalResult.originalValue;
|
409
|
+
var isChanged = originalResult.isChanged;
|
410
|
+
otherProps.isChanged = isChanged;
|
393
411
|
var originalRealValue = transform ? transform(originalValue, record) : originalValue;
|
394
412
|
var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
|
395
413
|
return !!item;
|
@@ -428,13 +446,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
428
446
|
var isInNewRowFlag = isInNewRow(record);
|
429
447
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
430
448
|
valueType: valueType,
|
431
|
-
originalValue: originalValue ===
|
449
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
432
450
|
ellipsis: ellipsis,
|
433
451
|
width: width,
|
434
452
|
node: renderNode,
|
435
453
|
value: renderValue,
|
436
454
|
currentValue: renderValue,
|
437
|
-
originalDiffTip: _originalDiffTip,
|
438
455
|
toolTipProps: _toolTipProps,
|
439
456
|
minWidth: minWidth,
|
440
457
|
isInNewRowFlag: isInNewRowFlag
|
@@ -461,7 +478,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
461
478
|
};
|
462
479
|
} else if (ellipsis) {
|
463
480
|
column.render = function (value, record, index) {
|
464
|
-
var
|
481
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
482
|
+
var originalValue = originalResult.originalValue;
|
483
|
+
var isChanged = originalResult.isChanged;
|
484
|
+
otherProps.isChanged = isChanged;
|
465
485
|
if (!value && value !== 0 && value === originalValue) {
|
466
486
|
(0, _jsxRuntime.jsx)("div", {
|
467
487
|
style: {
|
@@ -475,13 +495,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
475
495
|
size: 8,
|
476
496
|
children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
477
497
|
valueType: valueType,
|
478
|
-
originalValue: originalValue ===
|
498
|
+
originalValue: originalValue === null ? null : originalValue || '-',
|
479
499
|
ellipsis: ellipsis,
|
480
500
|
width: width,
|
481
501
|
node: value,
|
482
502
|
value: value,
|
483
503
|
currentValue: value || '-',
|
484
|
-
originalDiffTip: _originalDiffTip,
|
485
504
|
toolTipProps: _toolTipProps,
|
486
505
|
minWidth: minWidth,
|
487
506
|
isInNewRowFlag: isInNewRowFlag
|
@@ -490,7 +509,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
490
509
|
};
|
491
510
|
} else {
|
492
511
|
column.render = function (value, record, index) {
|
493
|
-
var
|
512
|
+
var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
|
513
|
+
var originalValue = originalResult.originalValue;
|
514
|
+
var isChanged = originalResult.isChanged;
|
515
|
+
otherProps.isChanged = isChanged;
|
494
516
|
var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
|
495
517
|
size: 8,
|
496
518
|
children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
|
@@ -506,13 +528,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
|
|
506
528
|
var isInNewRowFlag = isInNewRow(record);
|
507
529
|
return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
508
530
|
valueType: valueType,
|
509
|
-
originalValue: originalValue ===
|
531
|
+
originalValue: originalValue === null ? null : originalValue || '-',
|
510
532
|
ellipsis: ellipsis,
|
511
533
|
width: width,
|
512
534
|
node: node,
|
513
535
|
value: value,
|
514
536
|
currentValue: value || '-',
|
515
|
-
originalDiffTip: _originalDiffTip,
|
516
537
|
toolTipProps: _toolTipProps,
|
517
538
|
minWidth: minWidth,
|
518
539
|
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;
|
@@ -10,6 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
11
11
|
var _antd = require("antd");
|
12
12
|
var _ahooks = require("ahooks");
|
13
|
+
var _lodash = require("lodash");
|
13
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
14
15
|
var _icons = require("@ant-design/icons");
|
15
16
|
var _reactSvg = require("react-svg");
|
@@ -27,7 +28,6 @@ var RenderColumn = function RenderColumn(props) {
|
|
27
28
|
ellipsis = props.ellipsis,
|
28
29
|
width = props.width,
|
29
30
|
originalValue = props.originalValue,
|
30
|
-
originalDiffTip = props.originalDiffTip,
|
31
31
|
_props$toolTipProps = props.toolTipProps,
|
32
32
|
toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
|
33
33
|
minWidth = props.minWidth,
|
@@ -39,11 +39,12 @@ var RenderColumn = function RenderColumn(props) {
|
|
39
39
|
tooltip = _useSetState2[0].tooltip,
|
40
40
|
setState = _useSetState2[1];
|
41
41
|
var cellDiffCls = (0, _classnames.default)({
|
42
|
-
'varied-cell':
|
42
|
+
'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
|
43
43
|
});
|
44
|
-
|
44
|
+
// 比对场景走的逻辑
|
45
|
+
if (!isInNewRowFlag && (0, _lodash.isBoolean)(props === null || props === void 0 ? void 0 : props.isChanged)) {
|
45
46
|
var renderNode = value ? node : '-';
|
46
|
-
if (ellipsis ||
|
47
|
+
if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
|
47
48
|
renderNode = (0, _jsxRuntime.jsx)(Text, {
|
48
49
|
style: {
|
49
50
|
width: currentValue === '-' ? 32.5 : width,
|
@@ -54,29 +55,35 @@ var RenderColumn = function RenderColumn(props) {
|
|
54
55
|
},
|
55
56
|
children: ellipsis ? currentValue : renderNode
|
56
57
|
});
|
57
|
-
if ((props === null || props === void 0 ? void 0 : props.
|
58
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
58
59
|
return renderNode;
|
59
60
|
}
|
60
61
|
if (Array.isArray(originalValue)) {
|
61
62
|
console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
|
62
63
|
}
|
64
|
+
var originalValueCalc = function originalValueCalc() {
|
65
|
+
if (Array.isArray(originalValue)) {
|
66
|
+
return null;
|
67
|
+
}
|
68
|
+
return !(0, _utils.isEmpty)(originalValue) ? originalValue : '-';
|
69
|
+
};
|
63
70
|
return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
64
71
|
className: cellDiffCls,
|
65
72
|
style: {
|
66
73
|
width: width,
|
67
74
|
minWidth: minWidth
|
68
75
|
},
|
69
|
-
overlayClassName: "original-value-
|
76
|
+
overlayClassName: "original-value-tooltip",
|
70
77
|
placement: "topLeft",
|
71
78
|
autoAdjustOverflow: false,
|
72
79
|
title: (0, _jsxRuntime.jsx)(_antd.Space, {
|
73
80
|
direction: "vertical",
|
74
81
|
className: "changed-tooltip",
|
75
|
-
children:
|
82
|
+
children: (props === null || props === void 0 ? void 0 : props.isChanged) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
76
83
|
children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
|
77
84
|
align: "start",
|
78
85
|
className: "original-value-container",
|
79
|
-
children: ["\u521D\u59CB\u503C\uFF1A",
|
86
|
+
children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
|
80
87
|
}), (0, _jsxRuntime.jsx)(_antd.Space, {
|
81
88
|
className: "current-value-container",
|
82
89
|
children: ellipsis ? (0, _jsxRuntime.jsxs)(_antd.Space, {
|
@@ -92,7 +99,7 @@ var RenderColumn = function RenderColumn(props) {
|
|
92
99
|
children: renderNode
|
93
100
|
}));
|
94
101
|
}
|
95
|
-
if ((props === null || props === void 0 ? void 0 : props.
|
102
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
96
103
|
return renderNode;
|
97
104
|
}
|
98
105
|
return (0, _jsxRuntime.jsx)("span", {
|
@@ -145,15 +152,12 @@ var RenderColumn = function RenderColumn(props) {
|
|
145
152
|
range.setStart(box, 0);
|
146
153
|
range.setEnd(box, box.childNodes.length);
|
147
154
|
var rangeWidth = range.getBoundingClientRect().width;
|
148
|
-
var rangeHeight = range.getBoundingClientRect().height;
|
149
|
-
var contentWidth = rangeWidth - Math.floor(rangeWidth);
|
150
155
|
var _getPadding = getPadding(box),
|
151
156
|
pLeft = _getPadding.pLeft,
|
152
157
|
pRight = _getPadding.pRight,
|
153
158
|
pTop = _getPadding.pTop,
|
154
159
|
pBottom = _getPadding.pBottom;
|
155
160
|
var horizontalPadding = pLeft + pRight;
|
156
|
-
var verticalPadding = pTop + pBottom;
|
157
161
|
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
158
162
|
return true;
|
159
163
|
}
|
@@ -12,7 +12,6 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
var _react = require("react");
|
13
13
|
var _reactResizable = require("react-resizable");
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
15
|
-
var _index = require("../../index");
|
16
15
|
var _FormatColumn = require("../FormatColumn");
|
17
16
|
var _excluded = ["onDrag", "width", "minwidth"];
|
18
17
|
var ResizableTitle = function ResizableTitle(props) {
|
@@ -22,9 +21,6 @@ var ResizableTitle = function ResizableTitle(props) {
|
|
22
21
|
_props$minwidth = props.minwidth,
|
23
22
|
minwidth = _props$minwidth === void 0 ? 50 : _props$minwidth,
|
24
23
|
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
25
|
-
var _useContext = (0, _react.useContext)(_index.TableContext),
|
26
|
-
tableConfig = _useContext.tableConfig,
|
27
|
-
Storage = _useContext.Storage;
|
28
24
|
// 添加偏移量
|
29
25
|
var _useState = (0, _react.useState)(0),
|
30
26
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
package/lib/ProTable/index.js
CHANGED
@@ -221,7 +221,6 @@ var ProTable = function ProTable(props) {
|
|
221
221
|
originalObj: originalObj,
|
222
222
|
rowKey: props.rowKey,
|
223
223
|
diffConfig: diffConfig,
|
224
|
-
diffToolTip: toolTip,
|
225
224
|
wrapToolTipProps: wrapToolTipProps,
|
226
225
|
scroll: _scroll,
|
227
226
|
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>>结构
|
@@ -22,18 +22,27 @@ var getDecimalDigits = exports.getDecimalDigits = function getDecimalDigits() {
|
|
22
22
|
* @param any value
|
23
23
|
* @param any originalObj
|
24
24
|
* @param {any} dataIndex
|
25
|
-
* @return {any}
|
25
|
+
* @return {any} isChanged 返回bool值,表示存在比对
|
26
26
|
*/
|
27
27
|
var getOriginalValue = exports.getOriginalValue = function getOriginalValue(value, record, originalObj, rowKey, dataIndex) {
|
28
28
|
if (!originalObj) {
|
29
|
-
return
|
29
|
+
return {
|
30
|
+
originalValue: null,
|
31
|
+
isChanged: null
|
32
|
+
};
|
30
33
|
}
|
31
34
|
var originalRecord = (0, _lodash.get)(originalObj, (0, _lodash.get)(record, rowKey));
|
32
35
|
var originalValue = (0, _lodash.get)(originalRecord, dataIndex);
|
33
36
|
if (!(0, _lodash.isEqual)(originalValue, value)) {
|
34
|
-
return
|
37
|
+
return {
|
38
|
+
originalValue: originalValue,
|
39
|
+
isChanged: true
|
40
|
+
};
|
35
41
|
}
|
36
|
-
return
|
42
|
+
return {
|
43
|
+
originalValue: null,
|
44
|
+
isChanged: false
|
45
|
+
};
|
37
46
|
};
|
38
47
|
var getColumnDataIndex = exports.getColumnDataIndex = function getColumnDataIndex(dataIndex) {
|
39
48
|
return typeof dataIndex === 'string' ? dataIndex : dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.join('-');
|
@@ -280,8 +280,10 @@
|
|
280
280
|
table {
|
281
281
|
.@{ant-prefix}-table-tbody {
|
282
282
|
.@{ant-prefix}-table-row:nth-child(even) {
|
283
|
-
&:hover td
|
284
|
-
|
283
|
+
&:hover td,
|
284
|
+
&:hover td.@{ant-prefix}-table-cell-fix-right,
|
285
|
+
&:hover td.@{ant-prefix}-table-cell-fix-left {
|
286
|
+
background-color: @zaui-table-hover-bg !important;
|
285
287
|
}
|
286
288
|
|
287
289
|
& td,
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
@@ -9,7 +9,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
9
9
|
var _react = require("react");
|
10
10
|
var EMPTY_VALUE = [undefined, null, ''];
|
11
11
|
/** 判断一个值是否是空值 */
|
12
|
-
var isEmpty = exports.isEmpty = function isEmpty(value) {
|
12
|
+
var isEmpty = exports.isEmpty = function isEmpty(value, emptyValue) {
|
13
|
+
if (emptyValue) {
|
14
|
+
EMPTY_VALUE.push(emptyValue);
|
15
|
+
}
|
13
16
|
if (EMPTY_VALUE.includes(value)) {
|
14
17
|
return true;
|
15
18
|
}
|