@zat-design/sisyphus-react 3.9.0 → 3.9.1-beta.2
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 +42 -16
- package/dist/less.esm.css +38 -14
- package/es/ProDrawerForm/components/ProDrawer/index.js +3 -1
- package/es/ProDrawerForm/components/ProModal/index.js +5 -3
- package/es/ProDrawerForm/propsType.d.ts +1 -0
- package/es/ProDrawerForm/style/index.less +3 -0
- 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 +6 -4
- package/es/ProEnum/propsType.d.ts +1 -0
- package/es/ProForm/components/base/SwitchCheckbox/index.js +9 -2
- package/es/ProForm/components/combination/FormList/index.js +1 -1
- 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/Group/index.js +4 -3
- package/es/ProForm/components/combination/ProModalSelect/index.js +30 -29
- package/es/ProForm/components/render/ChangedWrapper.js +3 -3
- 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 +5 -3
- package/es/ProTable/components/FormatColumn/index.js +93 -72
- package/es/ProTable/components/RenderColumn/index.d.ts +1 -1
- package/es/ProTable/components/RenderColumn/index.js +41 -23
- package/es/ProTable/components/TableResizable/index.js +1 -5
- package/es/ProTable/index.d.ts +6 -5
- package/es/ProTable/index.js +4 -6
- package/es/ProTable/propsType.d.ts +2 -1
- package/es/ProTable/style/index.less +16 -1
- package/es/ProTable/utils/index.d.ts +5 -2
- package/es/ProTable/utils/index.js +13 -4
- package/es/ProTree/components/ProTreeSelect/index.js +32 -13
- 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/ProDrawerForm/components/ProDrawer/index.js +3 -1
- package/lib/ProDrawerForm/components/ProModal/index.js +5 -3
- package/lib/ProDrawerForm/propsType.d.ts +1 -0
- package/lib/ProDrawerForm/style/index.less +3 -0
- 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 +6 -4
- package/lib/ProEnum/propsType.d.ts +1 -0
- package/lib/ProForm/components/base/SwitchCheckbox/index.js +9 -2
- package/lib/ProForm/components/combination/FormList/index.js +1 -1
- 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/Group/index.js +4 -3
- package/lib/ProForm/components/combination/ProModalSelect/index.js +29 -28
- package/lib/ProForm/components/render/ChangedWrapper.js +3 -3
- 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 +5 -3
- package/lib/ProTable/components/FormatColumn/index.js +92 -71
- package/lib/ProTable/components/RenderColumn/index.d.ts +1 -1
- package/lib/ProTable/components/RenderColumn/index.js +41 -23
- package/lib/ProTable/components/TableResizable/index.js +0 -4
- package/lib/ProTable/index.d.ts +6 -5
- package/lib/ProTable/index.js +4 -6
- package/lib/ProTable/propsType.d.ts +2 -1
- package/lib/ProTable/style/index.less +16 -1
- package/lib/ProTable/utils/index.d.ts +5 -2
- package/lib/ProTable/utils/index.js +13 -4
- package/lib/ProTree/components/ProTreeSelect/index.js +31 -12
- 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
@@ -1,16 +1,22 @@
|
|
1
1
|
import "antd/es/space/style";
|
2
2
|
import _Space from "antd/es/space";
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
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", "toolTipProps", "minWidth", "onDiff"];
|
4
6
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
7
|
+
/**
|
8
|
+
* 调整点:
|
9
|
+
*/
|
5
10
|
import { isValidElement } from 'react';
|
6
11
|
import moment from 'moment';
|
7
12
|
import classnames from 'classnames';
|
8
13
|
import ReactDOM from 'react-dom';
|
9
|
-
import { isEqual, isFunction, isString, isObject } from 'lodash';
|
14
|
+
import { isEqual, isFunction, isString, isObject, isBoolean } from 'lodash';
|
10
15
|
import { tools } from '@zat-design/utils';
|
11
16
|
import TooltipTitle from '../TooltipTitle';
|
12
17
|
import RenderColumn from '../RenderColumn';
|
13
18
|
import { getDecimalDigits, getOriginalValue } from '../../utils';
|
19
|
+
import { isEmpty } from '../../../utils';
|
14
20
|
import getEnumLabel from '../../../ProEnum/utils/getEnumLabel';
|
15
21
|
import ProForm from '../../../ProForm';
|
16
22
|
var isReactElement = function isReactElement(element) {
|
@@ -46,13 +52,12 @@ var calcMinWidth = function calcMinWidth(_ref) {
|
|
46
52
|
export var formatColumn = function formatColumn(_ref2) {
|
47
53
|
var column = _ref2.column,
|
48
54
|
originalObj = _ref2.originalObj,
|
49
|
-
dataSourceObj = _ref2.dataSourceObj,
|
50
55
|
rowKey = _ref2.rowKey,
|
51
|
-
diffToolTip = _ref2.diffToolTip,
|
52
56
|
wrapToolTipProps = _ref2.wrapToolTipProps,
|
53
57
|
scroll = _ref2.scroll,
|
54
58
|
onUpdateMinWidth = _ref2.onUpdateMinWidth,
|
55
|
-
isInNewRow = _ref2.isInNewRow
|
59
|
+
isInNewRow = _ref2.isInNewRow,
|
60
|
+
diffConfig = _ref2.diffConfig;
|
56
61
|
var title = column.title,
|
57
62
|
valueType = column.valueType,
|
58
63
|
_column$format = column.format,
|
@@ -68,12 +73,11 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
68
73
|
prefix = column.prefix,
|
69
74
|
suffix = column.suffix,
|
70
75
|
dataIndex = column.dataIndex,
|
71
|
-
_column$originalDiffT = column.originalDiffTip,
|
72
|
-
originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
|
73
76
|
_column$toolTipProps = column.toolTipProps,
|
74
77
|
toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
|
75
78
|
minWidth = column.minWidth,
|
76
|
-
onDiff = column.onDiff
|
79
|
+
onDiff = column.onDiff,
|
80
|
+
otherProps = _objectWithoutProperties(column, _excluded);
|
77
81
|
// 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
|
78
82
|
var isMaxContentOverFlow = isObject(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
|
79
83
|
calcMinWidth({
|
@@ -84,7 +88,6 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
84
88
|
callback: onUpdateMinWidth
|
85
89
|
});
|
86
90
|
var _toolTipProps = _objectSpread(_objectSpread({}, toolTipProps), wrapToolTipProps);
|
87
|
-
var _originalDiffTip = diffToolTip !== null && diffToolTip !== void 0 ? diffToolTip : originalDiffTip;
|
88
91
|
// 前缀处理
|
89
92
|
var prefixNode = function prefixNode(value, record, index) {
|
90
93
|
if (!prefix) {
|
@@ -116,39 +119,41 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
116
119
|
var originalRender = column.render; // 保存原始的 render 方法
|
117
120
|
// 自定义render 手动重载下
|
118
121
|
column.render = function (value, record, index) {
|
119
|
-
var _originalObj$record$r;
|
120
122
|
var isFn = isFunction(originalRender);
|
121
123
|
var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
|
122
|
-
var
|
123
|
-
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;
|
124
127
|
var isInNewRowFlag = isInNewRow(record);
|
125
|
-
|
126
|
-
//
|
127
|
-
if (
|
128
|
-
var
|
129
|
-
|
130
|
-
|
128
|
+
otherProps.isChanged = isChanged;
|
129
|
+
// 存在比对
|
130
|
+
if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
|
131
|
+
var _originalObj$record$r;
|
132
|
+
var diffResult = otherProps.viewRender({
|
133
|
+
originalValue: originalValue,
|
134
|
+
originalRecord: (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {},
|
135
|
+
value: value,
|
136
|
+
record: record,
|
137
|
+
index: index
|
131
138
|
});
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
originalValue = true;
|
136
|
-
extraDiffFlag = true;
|
139
|
+
// viewRender 返回值为 false 时,不显示对比
|
140
|
+
if (isBoolean(diffResult)) {
|
141
|
+
otherProps.isChanged = false;
|
137
142
|
}
|
143
|
+
originalValue = diffResult;
|
138
144
|
}
|
139
|
-
return _jsx(RenderColumn, {
|
145
|
+
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
140
146
|
valueType: valueType,
|
141
|
-
originalValue:
|
147
|
+
originalValue: isEmpty(originalValue) ? null : originalValue,
|
142
148
|
ellipsis: ellipsis,
|
143
149
|
width: width,
|
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
|
151
|
-
});
|
156
|
+
}));
|
152
157
|
};
|
153
158
|
return;
|
154
159
|
}
|
@@ -171,10 +176,13 @@ 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
|
-
if (
|
185
|
+
if (isEmpty(originalValue)) {
|
178
186
|
originalRenderValue = '-';
|
179
187
|
}
|
180
188
|
if (!value && value !== 0 && renderValue === originalRenderValue) {
|
@@ -190,29 +198,31 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
190
198
|
children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
|
191
199
|
});
|
192
200
|
var isInNewRowFlag = isInNewRow(record);
|
193
|
-
return _jsx(RenderColumn, {
|
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
|
205
|
-
});
|
212
|
+
}));
|
206
213
|
};
|
207
214
|
// 千分位, 千分位带CNY前缀
|
208
215
|
} else if (['thousandth', 'thousandthCNY'].includes(valueType)) {
|
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
|
-
if (
|
225
|
+
if (isEmpty(originalValue)) {
|
216
226
|
originalRenderValue = '-';
|
217
227
|
}
|
218
228
|
var node = _jsxs(_Space, {
|
@@ -228,25 +238,27 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
228
238
|
});
|
229
239
|
}
|
230
240
|
var isInNewRowFlag = isInNewRow(record);
|
231
|
-
return _jsx(RenderColumn, {
|
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
|
243
|
-
});
|
252
|
+
}));
|
244
253
|
};
|
245
254
|
} else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
|
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':
|
@@ -289,25 +301,27 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
289
301
|
});
|
290
302
|
}
|
291
303
|
var isInNewRowFlag = isInNewRow(record);
|
292
|
-
return _jsx(RenderColumn, {
|
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
|
304
|
-
});
|
315
|
+
}));
|
305
316
|
};
|
306
317
|
} else if (['enumName', 'enumCodeName'].includes(valueType)) {
|
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;
|
@@ -330,30 +344,32 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
330
344
|
children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
|
331
345
|
});
|
332
346
|
var isInNewRowFlag = isInNewRow(record);
|
333
|
-
return _jsx(RenderColumn, {
|
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
|
345
|
-
});
|
358
|
+
}));
|
346
359
|
};
|
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,
|
354
370
|
children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
|
355
371
|
});
|
356
|
-
if (
|
372
|
+
if (isEmpty(originalValue)) {
|
357
373
|
originalRenderValue = '-';
|
358
374
|
}
|
359
375
|
if (!value && value !== 0 && renderValue === originalRenderValue) {
|
@@ -365,25 +381,27 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
365
381
|
});
|
366
382
|
}
|
367
383
|
var isInNewRowFlag = isInNewRow(record);
|
368
|
-
return _jsx(RenderColumn, {
|
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
|
380
|
-
});
|
395
|
+
}));
|
381
396
|
};
|
382
397
|
} else if (valueType === 'address') {
|
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;
|
@@ -420,26 +438,25 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
420
438
|
tooltip: false
|
421
439
|
});
|
422
440
|
var isInNewRowFlag = isInNewRow(record);
|
423
|
-
return _jsx(RenderColumn, {
|
441
|
+
return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
424
442
|
valueType: valueType,
|
425
|
-
originalValue: originalValue ===
|
426
|
-
ellipsis: ellipsis
|
443
|
+
originalValue: originalValue === null ? null : originalRenderValue,
|
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
|
435
|
-
});
|
452
|
+
}));
|
436
453
|
};
|
437
454
|
} else if (copyable) {
|
438
455
|
column.render = function (value, record, index) {
|
439
456
|
var isInNewRowFlag = isInNewRow(record);
|
440
457
|
return _jsxs(_Space, {
|
441
458
|
size: 8,
|
442
|
-
children: [prefixNode(value, record, index), _jsx(RenderColumn, {
|
459
|
+
children: [prefixNode(value, record, index), _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
|
443
460
|
valueType: valueType,
|
444
461
|
copyable: copyable,
|
445
462
|
ellipsis: ellipsis,
|
@@ -450,12 +467,15 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
450
467
|
toolTipProps: _toolTipProps,
|
451
468
|
minWidth: minWidth,
|
452
469
|
isInNewRowFlag: isInNewRowFlag
|
453
|
-
}), suffixNode(value, record, index)]
|
470
|
+
})), suffixNode(value, record, index)]
|
454
471
|
});
|
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: {
|
@@ -467,24 +487,26 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
467
487
|
var isInNewRowFlag = isInNewRow(record);
|
468
488
|
return _jsxs(_Space, {
|
469
489
|
size: 8,
|
470
|
-
children: [prefixNode(value, record, index), _jsx(RenderColumn, {
|
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
|
482
|
-
}), suffixNode(value, record, index)]
|
501
|
+
})), suffixNode(value, record, index)]
|
483
502
|
});
|
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)]
|
@@ -498,19 +520,18 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
498
520
|
});
|
499
521
|
}
|
500
522
|
var isInNewRowFlag = isInNewRow(record);
|
501
|
-
return _jsx(RenderColumn, {
|
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
|
513
|
-
});
|
534
|
+
}));
|
514
535
|
};
|
515
536
|
}
|
516
537
|
};
|
@@ -6,13 +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;
|
15
|
+
isChanged?: boolean;
|
16
16
|
}
|
17
17
|
declare const RenderColumn: FC<Props>;
|
18
18
|
export default RenderColumn;
|
@@ -8,8 +8,11 @@ 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';
|
12
|
+
import classNames from 'classnames';
|
11
13
|
import { CheckOutlined } from '@ant-design/icons';
|
12
14
|
import { ReactSVG } from 'react-svg';
|
15
|
+
import { isEmpty } from '../../../utils';
|
13
16
|
import copySvg from '../../../assets/copy.svg';
|
14
17
|
var Paragraph = _Typography.Paragraph,
|
15
18
|
Text = _Typography.Text;
|
@@ -23,7 +26,6 @@ var RenderColumn = function RenderColumn(props) {
|
|
23
26
|
ellipsis = props.ellipsis,
|
24
27
|
width = props.width,
|
25
28
|
originalValue = props.originalValue,
|
26
|
-
originalDiffTip = props.originalDiffTip,
|
27
29
|
_props$toolTipProps = props.toolTipProps,
|
28
30
|
toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
|
29
31
|
minWidth = props.minWidth,
|
@@ -34,39 +36,55 @@ var RenderColumn = function RenderColumn(props) {
|
|
34
36
|
_useSetState2 = _slicedToArray(_useSetState, 2),
|
35
37
|
tooltip = _useSetState2[0].tooltip,
|
36
38
|
setState = _useSetState2[1];
|
37
|
-
|
39
|
+
var cellDiffCls = classNames({
|
40
|
+
'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
|
41
|
+
});
|
42
|
+
// 比对场景走的逻辑
|
43
|
+
if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
|
38
44
|
var renderNode = value ? node : '-';
|
39
|
-
if (ellipsis ||
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
45
|
+
if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
|
46
|
+
renderNode = _jsx(Text, {
|
47
|
+
style: {
|
48
|
+
width: currentValue === '-' ? 32.5 : width,
|
49
|
+
minWidth: minWidth
|
50
|
+
},
|
51
|
+
ellipsis: {
|
52
|
+
tooltip: false
|
53
|
+
},
|
54
|
+
children: ellipsis ? currentValue : renderNode
|
55
|
+
});
|
56
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
57
|
+
return renderNode;
|
58
|
+
}
|
59
|
+
if (Array.isArray(originalValue)) {
|
60
|
+
console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
|
51
61
|
}
|
62
|
+
var originalValueCalc = function originalValueCalc() {
|
63
|
+
if (Array.isArray(originalValue)) {
|
64
|
+
return null;
|
65
|
+
}
|
66
|
+
return !isEmpty(originalValue) ? originalValue : '-';
|
67
|
+
};
|
52
68
|
return _jsx(_Tooltip, _objectSpread(_objectSpread({
|
53
|
-
className:
|
69
|
+
className: cellDiffCls,
|
54
70
|
style: {
|
55
71
|
width: width,
|
56
72
|
minWidth: minWidth
|
57
73
|
},
|
58
|
-
overlayClassName: "original-value-
|
74
|
+
overlayClassName: "original-value-tooltip",
|
75
|
+
placement: "topLeft",
|
76
|
+
autoAdjustOverflow: false,
|
59
77
|
title: _jsx(_Space, {
|
60
78
|
direction: "vertical",
|
61
79
|
className: "changed-tooltip",
|
62
|
-
children:
|
80
|
+
children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
|
63
81
|
children: [_jsxs(_Space, {
|
64
82
|
align: "start",
|
65
83
|
className: "original-value-container",
|
66
|
-
children: ["\u521D\u59CB\u503C\uFF1A",
|
84
|
+
children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
|
67
85
|
}), _jsx(_Space, {
|
68
86
|
className: "current-value-container",
|
69
|
-
children: ellipsis ? _jsxs(
|
87
|
+
children: ellipsis ? _jsxs(_Space, {
|
70
88
|
children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
|
71
89
|
}) : null
|
72
90
|
})]
|
@@ -79,8 +97,11 @@ var RenderColumn = function RenderColumn(props) {
|
|
79
97
|
children: renderNode
|
80
98
|
}));
|
81
99
|
}
|
100
|
+
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
101
|
+
return renderNode;
|
102
|
+
}
|
82
103
|
return _jsx("span", {
|
83
|
-
className:
|
104
|
+
className: cellDiffCls,
|
84
105
|
style: {
|
85
106
|
width: width,
|
86
107
|
minWidth: minWidth
|
@@ -129,15 +150,12 @@ var RenderColumn = function RenderColumn(props) {
|
|
129
150
|
range.setStart(box, 0);
|
130
151
|
range.setEnd(box, box.childNodes.length);
|
131
152
|
var rangeWidth = range.getBoundingClientRect().width;
|
132
|
-
var rangeHeight = range.getBoundingClientRect().height;
|
133
|
-
var contentWidth = rangeWidth - Math.floor(rangeWidth);
|
134
153
|
var _getPadding = getPadding(box),
|
135
154
|
pLeft = _getPadding.pLeft,
|
136
155
|
pRight = _getPadding.pRight,
|
137
156
|
pTop = _getPadding.pTop,
|
138
157
|
pBottom = _getPadding.pBottom;
|
139
158
|
var horizontalPadding = pLeft + pRight;
|
140
|
-
var verticalPadding = pTop + pBottom;
|
141
159
|
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
142
160
|
return true;
|
143
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.d.ts
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { ProTableProps } from './propsType';
|
3
|
+
import useAntdTable from './hooks/useAntdTable';
|
3
4
|
export declare const TableContext: import("react").Context<{}>;
|
4
5
|
export declare const defaultPage: {
|
5
6
|
pageNum: number;
|
6
7
|
pageSize: number;
|
7
8
|
};
|
8
|
-
declare
|
9
|
-
|
10
|
-
|
9
|
+
declare const ProTable: {
|
10
|
+
(props: ProTableProps): import("react/jsx-runtime").JSX.Element;
|
11
|
+
defaultProps: {
|
11
12
|
quickConfig: boolean;
|
12
13
|
stripe: boolean;
|
13
14
|
draggable: boolean;
|
14
15
|
disabled: boolean;
|
15
16
|
isView: boolean;
|
16
17
|
};
|
17
|
-
|
18
|
-
}
|
18
|
+
useAntdTable: typeof useAntdTable;
|
19
|
+
};
|
19
20
|
export default ProTable;
|
package/es/ProTable/index.js
CHANGED
@@ -29,7 +29,7 @@ export var defaultPage = {
|
|
29
29
|
pageNum: 1,
|
30
30
|
pageSize: 10
|
31
31
|
};
|
32
|
-
function ProTable(props) {
|
32
|
+
var ProTable = function ProTable(props) {
|
33
33
|
var _locale$ProTable, _props$scroll, _curTableConfig$pathK;
|
34
34
|
var _ref = useProConfig('globalConfig') || {},
|
35
35
|
configStorage = _ref.storage; // 获取全局缓存位置配置
|
@@ -114,7 +114,6 @@ function ProTable(props) {
|
|
114
114
|
});
|
115
115
|
});
|
116
116
|
var originalObj = _originalDataSource ? keyBy(_originalDataSource, 'rowKey') : undefined;
|
117
|
-
var dataSourceObj = _dataSource ? keyBy(_dataSource, 'rowKey') : {};
|
118
117
|
var propsColumnObj = useMemo(function () {
|
119
118
|
return propsColumns.reduce(function (acc, cur) {
|
120
119
|
// @ts-ignore
|
@@ -213,9 +212,8 @@ function ProTable(props) {
|
|
213
212
|
formatColumn({
|
214
213
|
column: item,
|
215
214
|
originalObj: originalObj,
|
216
|
-
|
217
|
-
|
218
|
-
diffToolTip: toolTip,
|
215
|
+
rowKey: props.rowKey,
|
216
|
+
diffConfig: diffConfig,
|
219
217
|
wrapToolTipProps: wrapToolTipProps,
|
220
218
|
scroll: _scroll,
|
221
219
|
onUpdateMinWidth: function onUpdateMinWidth(w) {
|
@@ -447,7 +445,7 @@ function ProTable(props) {
|
|
447
445
|
})]
|
448
446
|
})
|
449
447
|
});
|
450
|
-
}
|
448
|
+
};
|
451
449
|
ProTable.defaultProps = {
|
452
450
|
quickConfig: false,
|
453
451
|
stripe: true,
|
@@ -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 | {
|
@@ -45,6 +44,8 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
45
44
|
value: any;
|
46
45
|
originValue: any;
|
47
46
|
}) => boolean;
|
47
|
+
viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
|
48
|
+
isChanged?: boolean | null;
|
48
49
|
}
|
49
50
|
export interface CreateTreeFromArrayOptions {
|
50
51
|
itemKey?: string;
|