@zat-design/sisyphus-react 3.10.2 → 3.10.3-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 +47 -34
- package/dist/less.esm.css +47 -34
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +4 -4
- package/es/ProEditTable/components/RenderField/index.js +2 -1
- package/es/ProEditTable/index.js +39 -11
- package/es/ProEditTable/propsType.d.ts +1 -1
- package/es/ProEditTable/style/index.less +3 -1
- package/es/ProEditTable/utils/config.d.ts +1 -1
- package/es/ProEditTable/utils/config.js +11 -3
- package/es/ProEditTable/utils/diffOriginal.d.ts +1 -1
- package/es/ProEditTable/utils/diffOriginal.js +3 -3
- package/es/ProForm/components/combination/ProModalSelect/index.js +2 -2
- package/es/ProForm/components/render/ChangedWrapper.d.ts +1 -1
- package/es/ProForm/components/render/ChangedWrapper.js +5 -6
- package/es/ProForm/components/render/Render.js +3 -2
- package/es/ProForm/components/render/RenderFields.js +2 -3
- package/es/ProForm/components/render/propsType.d.ts +1 -2
- package/es/ProForm/utils/_useChanged.d.ts +2 -2
- package/es/ProForm/utils/_useChanged.js +3 -3
- package/es/ProForm/utils/_useListChanged.d.ts +1 -1
- package/es/ProForm/utils/_useListChanged.js +3 -3
- package/es/ProForm/utils/diffOriginal.d.ts +1 -1
- package/es/ProForm/utils/diffOriginal.js +3 -3
- package/es/ProForm/utils/transformValue.js +9 -7
- package/es/ProStep/components/Anchor/index.js +12 -10
- package/es/ProStep/components/Listener/index.js +25 -0
- package/es/ProStep/components/Step/index.js +2 -2
- package/es/ProStep/style/index.less +28 -16
- package/es/ProTable/components/FormatColumn/index.js +0 -5
- package/es/ProTable/components/RenderColumn/index.js +55 -42
- package/es/ProTable/hooks/useAntdTable.js +45 -46
- package/es/ProTable/style/index.less +3 -1
- package/es/ProTable/utils/index.d.ts +8 -0
- package/es/ProTable/utils/index.js +19 -0
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +4 -4
- package/lib/ProEditTable/components/RenderField/index.js +2 -1
- package/lib/ProEditTable/index.js +38 -10
- package/lib/ProEditTable/propsType.d.ts +1 -1
- package/lib/ProEditTable/style/index.less +3 -1
- package/lib/ProEditTable/utils/config.d.ts +1 -1
- package/lib/ProEditTable/utils/config.js +11 -3
- package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -1
- package/lib/ProEditTable/utils/diffOriginal.js +3 -3
- package/lib/ProForm/components/combination/ProModalSelect/index.js +1 -1
- package/lib/ProForm/components/render/ChangedWrapper.d.ts +1 -1
- package/lib/ProForm/components/render/ChangedWrapper.js +5 -6
- package/lib/ProForm/components/render/Render.js +3 -2
- package/lib/ProForm/components/render/RenderFields.js +2 -3
- package/lib/ProForm/components/render/propsType.d.ts +1 -2
- package/lib/ProForm/utils/_useChanged.d.ts +2 -2
- package/lib/ProForm/utils/_useChanged.js +3 -3
- package/lib/ProForm/utils/_useListChanged.d.ts +1 -1
- package/lib/ProForm/utils/_useListChanged.js +3 -3
- package/lib/ProForm/utils/diffOriginal.d.ts +1 -1
- package/lib/ProForm/utils/diffOriginal.js +3 -3
- package/lib/ProForm/utils/transformValue.js +9 -7
- package/lib/ProStep/components/Anchor/index.js +11 -10
- package/lib/ProStep/components/Listener/index.js +25 -0
- package/lib/ProStep/components/Step/index.js +2 -2
- package/lib/ProStep/style/index.less +28 -16
- package/lib/ProTable/components/FormatColumn/index.js +0 -5
- package/lib/ProTable/components/RenderColumn/index.js +56 -43
- package/lib/ProTable/hooks/useAntdTable.js +42 -43
- package/lib/ProTable/style/index.less +3 -1
- package/lib/ProTable/utils/index.d.ts +8 -0
- package/lib/ProTable/utils/index.js +20 -1
- package/package.json +1 -1
@@ -1,8 +1,8 @@
|
|
1
1
|
import "antd/es/space/style";
|
2
2
|
import _Space from "antd/es/space";
|
3
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
4
3
|
import "antd/es/tooltip/style";
|
5
4
|
import _Tooltip from "antd/es/tooltip";
|
5
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
6
6
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
7
7
|
import "antd/es/typography/style";
|
8
8
|
import _Typography from "antd/es/typography";
|
@@ -12,6 +12,7 @@ import { isBoolean } from 'lodash';
|
|
12
12
|
import classNames from 'classnames';
|
13
13
|
import { CheckOutlined } from '@ant-design/icons';
|
14
14
|
import { ReactSVG } from 'react-svg';
|
15
|
+
import { getPadding } from '../../utils';
|
15
16
|
import { isEmpty } from '../../../utils';
|
16
17
|
import copySvg from '../../../assets/copy.svg';
|
17
18
|
var Paragraph = _Typography.Paragraph,
|
@@ -41,6 +42,32 @@ var RenderColumn = function RenderColumn(props) {
|
|
41
42
|
'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
|
42
43
|
'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
|
43
44
|
});
|
45
|
+
var checkEllipsis = function checkEllipsis(box) {
|
46
|
+
var range = document.createRange();
|
47
|
+
range.setStart(box, 0);
|
48
|
+
range.setEnd(box, box.childNodes.length);
|
49
|
+
var rangeWidth = range.getBoundingClientRect().width;
|
50
|
+
var _getPadding = getPadding(box),
|
51
|
+
pLeft = _getPadding.pLeft,
|
52
|
+
pRight = _getPadding.pRight,
|
53
|
+
pTop = _getPadding.pTop,
|
54
|
+
pBottom = _getPadding.pBottom;
|
55
|
+
var horizontalPadding = pLeft + pRight;
|
56
|
+
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
return false;
|
60
|
+
};
|
61
|
+
var handleMouseOver = function handleMouseOver(e) {
|
62
|
+
setState({
|
63
|
+
tooltip: checkEllipsis(e.target)
|
64
|
+
});
|
65
|
+
};
|
66
|
+
var tooltipProps = _objectSpread({
|
67
|
+
getPopupContainer: function getPopupContainer(triggerNode) {
|
68
|
+
return triggerNode.parentNode;
|
69
|
+
}
|
70
|
+
}, toolTipProps);
|
44
71
|
// 比对场景走的逻辑
|
45
72
|
if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
|
46
73
|
var renderNode = value ? node : '-';
|
@@ -58,11 +85,36 @@ var RenderColumn = function RenderColumn(props) {
|
|
58
85
|
}) : _jsx("div", {
|
59
86
|
style: {
|
60
87
|
minWidth: minWidth,
|
61
|
-
width: width
|
88
|
+
width: width,
|
89
|
+
overflow: 'hidden',
|
90
|
+
textOverflow: 'ellipsis',
|
91
|
+
whiteSpace: 'nowrap'
|
62
92
|
},
|
63
93
|
children: ellipsis ? currentValue : renderNode
|
64
94
|
});
|
65
95
|
if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
|
96
|
+
if (ellipsis) {
|
97
|
+
return _jsx(_Tooltip, _objectSpread(_objectSpread({
|
98
|
+
title: currentValue,
|
99
|
+
onOpenChange: function onOpenChange(open) {
|
100
|
+
setState({
|
101
|
+
tooltip: false
|
102
|
+
});
|
103
|
+
},
|
104
|
+
open: tooltip
|
105
|
+
}, tooltipProps), {}, {
|
106
|
+
children: _jsx(Text, {
|
107
|
+
style: {
|
108
|
+
width: width,
|
109
|
+
minWidth: minWidth
|
110
|
+
},
|
111
|
+
ellipsis: true,
|
112
|
+
onMouseOver: handleMouseOver,
|
113
|
+
onFocus: handleMouseOver,
|
114
|
+
children: renderNode
|
115
|
+
})
|
116
|
+
}));
|
117
|
+
}
|
66
118
|
return renderNode;
|
67
119
|
}
|
68
120
|
if (Array.isArray(originalValue)) {
|
@@ -86,7 +138,7 @@ var RenderColumn = function RenderColumn(props) {
|
|
86
138
|
title: _jsx(_Space, {
|
87
139
|
direction: "vertical",
|
88
140
|
className: "changed-tooltip",
|
89
|
-
children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
|
141
|
+
children: (props === null || props === void 0 ? void 0 : props.isChanged) && !(props === null || props === void 0 ? void 0 : props.isAddCell) ? _jsxs(_Fragment, {
|
90
142
|
children: [_jsxs(_Space, {
|
91
143
|
align: "start",
|
92
144
|
className: "original-value-container",
|
@@ -138,45 +190,6 @@ var RenderColumn = function RenderColumn(props) {
|
|
138
190
|
});
|
139
191
|
}
|
140
192
|
if (ellipsis) {
|
141
|
-
var getPadding = function getPadding(el) {
|
142
|
-
var style = window.getComputedStyle(el, null);
|
143
|
-
var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
|
144
|
-
var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
|
145
|
-
var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
|
146
|
-
var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
|
147
|
-
return {
|
148
|
-
pLeft: paddingLeft,
|
149
|
-
pRight: paddingRight,
|
150
|
-
pTop: paddingTop,
|
151
|
-
pBottom: paddingBottom
|
152
|
-
};
|
153
|
-
};
|
154
|
-
var checkEllipsis = function checkEllipsis(box) {
|
155
|
-
var range = document.createRange();
|
156
|
-
range.setStart(box, 0);
|
157
|
-
range.setEnd(box, box.childNodes.length);
|
158
|
-
var rangeWidth = range.getBoundingClientRect().width;
|
159
|
-
var _getPadding = getPadding(box),
|
160
|
-
pLeft = _getPadding.pLeft,
|
161
|
-
pRight = _getPadding.pRight,
|
162
|
-
pTop = _getPadding.pTop,
|
163
|
-
pBottom = _getPadding.pBottom;
|
164
|
-
var horizontalPadding = pLeft + pRight;
|
165
|
-
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
166
|
-
return true;
|
167
|
-
}
|
168
|
-
return false;
|
169
|
-
};
|
170
|
-
var handleMouseOver = function handleMouseOver(e) {
|
171
|
-
setState({
|
172
|
-
tooltip: checkEllipsis(e.target)
|
173
|
-
});
|
174
|
-
};
|
175
|
-
var tooltipProps = _objectSpread({
|
176
|
-
getPopupContainer: function getPopupContainer(triggerNode) {
|
177
|
-
return triggerNode.parentNode;
|
178
|
-
}
|
179
|
-
}, toolTipProps);
|
180
193
|
if (!value) {
|
181
194
|
return _jsx("div", {
|
182
195
|
style: {
|
@@ -7,11 +7,11 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
7
7
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
8
8
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
9
9
|
var _excluded = ["page", "filters", "sorter"];
|
10
|
-
import { useCallback, useMemo, useState } from 'react';
|
11
|
-
import { useRequest, useSetState, useDeepCompareEffect } from 'ahooks';
|
10
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
11
|
+
import { useRequest, useSetState, useDeepCompareEffect, usePrevious } from 'ahooks';
|
12
12
|
import { pickBy, isObject, merge, set, isEqual } from 'lodash';
|
13
13
|
import { defaultPage } from '../index';
|
14
|
-
import { isListResult, removeEmptyKeys } from '../utils';
|
14
|
+
import { isListResult, removeEmptyKeys, isNonEmptyObject } from '../utils';
|
15
15
|
import locale, { formatMessage } from '../../locale';
|
16
16
|
var useDefaultOptions = function useDefaultOptions(options) {
|
17
17
|
var _useState = useState((options === null || options === void 0 ? void 0 : options.page) || defaultPage),
|
@@ -24,6 +24,7 @@ var useDefaultOptions = function useDefaultOptions(options) {
|
|
24
24
|
onPageChange: (options === null || options === void 0 ? void 0 : options.onPageChange) || onPageChange
|
25
25
|
});
|
26
26
|
};
|
27
|
+
var previousSearchValues = null;
|
27
28
|
function useAntdTable(service, options, useRequestOptions) {
|
28
29
|
var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5;
|
29
30
|
var _useSetState = useSetState({
|
@@ -32,7 +33,10 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
32
33
|
selectedRecords: [],
|
33
34
|
selectedRowKeys: [],
|
34
35
|
searchValues: undefined,
|
35
|
-
extraFilter:
|
36
|
+
extraFilter: {
|
37
|
+
filters: undefined,
|
38
|
+
sorter: undefined
|
39
|
+
},
|
36
40
|
allSelected: false
|
37
41
|
}),
|
38
42
|
_useSetState2 = _slicedToArray(_useSetState, 2),
|
@@ -63,10 +67,10 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
63
67
|
transformResponse = _useDefaultOptions.transformResponse,
|
64
68
|
disabled = _useDefaultOptions.disabled;
|
65
69
|
var _ref = useRequestOptions || {},
|
66
|
-
defaultParams = _ref.defaultParams
|
67
|
-
manual = _ref.manual;
|
70
|
+
defaultParams = _ref.defaultParams;
|
68
71
|
var defaultParam = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
|
69
72
|
var initPage = (options === null || options === void 0 ? void 0 : options.page) || defaultPage;
|
73
|
+
var previousPage = usePrevious(page || defaultPage);
|
70
74
|
var getTransformParams = useCallback(function (params) {
|
71
75
|
var _pickBy;
|
72
76
|
var realParams = _objectSpread(_objectSpread(_objectSpread({}, defaultParam), extraParams), params);
|
@@ -105,9 +109,17 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
105
109
|
page: page
|
106
110
|
}, newQueryBean));
|
107
111
|
}, [page, searchValues, extraFilter]);
|
112
|
+
var curService = useMemo(function () {
|
113
|
+
return service.toString();
|
114
|
+
}, [service]);
|
115
|
+
var curExtraParams = useMemo(function () {
|
116
|
+
return extraParams ? JSON.stringify(extraParams) : extraParams;
|
117
|
+
}, [extraParams]);
|
108
118
|
// 调接口
|
109
|
-
var result = useRequest(service, _objectSpread(_objectSpread({
|
110
|
-
debounceWait:
|
119
|
+
var result = useRequest(service, _objectSpread(_objectSpread({
|
120
|
+
debounceWait: 300,
|
121
|
+
refreshDeps: [curService, curExtraParams]
|
122
|
+
}, useRequestOptions), {}, {
|
111
123
|
defaultParams: [getTransformParams()],
|
112
124
|
onSuccess: function onSuccess(res, params) {
|
113
125
|
var transformResult = transformResponse ? transformResponse(res) : res || {};
|
@@ -131,9 +143,6 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
131
143
|
}));
|
132
144
|
var run = result.run,
|
133
145
|
refreshAsync = result.refreshAsync;
|
134
|
-
var curService = useMemo(function () {
|
135
|
-
return service.toString();
|
136
|
-
}, [service]);
|
137
146
|
// service变化时触发 (禁止掉防止service变更时导致的死循环)
|
138
147
|
var clearSelected = useCallback(function () {
|
139
148
|
setState({
|
@@ -172,6 +181,12 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
172
181
|
setState(nextObject);
|
173
182
|
}
|
174
183
|
}, [allSelected, data]);
|
184
|
+
// 释放
|
185
|
+
useEffect(function () {
|
186
|
+
return function () {
|
187
|
+
previousSearchValues = null;
|
188
|
+
};
|
189
|
+
}, []);
|
175
190
|
// 分页变更
|
176
191
|
var handlePageChange = useCallback(function (current, pageSize) {
|
177
192
|
var page = {
|
@@ -213,26 +228,32 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
213
228
|
filters: filters,
|
214
229
|
sorter: sorter
|
215
230
|
})));
|
216
|
-
}, [allSelected, searchValues,
|
231
|
+
}, [allSelected, searchValues, getTransformParams]);
|
217
232
|
var onSearch = useCallback(function (values) {
|
218
233
|
var newPage = {
|
219
234
|
pageNum: 1,
|
220
235
|
pageSize: page.pageSize
|
221
236
|
};
|
222
237
|
var _values = removeEmptyKeys(values);
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
238
|
+
// 如果 previousPage 存在且与 page 不相等,则触发页面变化
|
239
|
+
if (previousPage && !isEqual(previousPage, page)) {
|
240
|
+
onPageChange(newPage);
|
241
|
+
}
|
242
|
+
// 减少查询按钮的渲染,只有需要重置值时才需要调用
|
243
|
+
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || isNonEmptyObject(_values) && !isEqual(previousSearchValues, _values)) {
|
244
|
+
previousSearchValues = _values;
|
245
|
+
setState({
|
246
|
+
searchValues: _values,
|
247
|
+
allSelected: false,
|
248
|
+
selectedRecords: [],
|
249
|
+
selectedRowKeys: []
|
250
|
+
});
|
251
|
+
}
|
230
252
|
run(getTransformParams(_objectSpread(_objectSpread({
|
231
253
|
page: newPage
|
232
254
|
}, extraFilter), _values)));
|
233
|
-
}, [extraFilter, page.pageSize,
|
234
|
-
var resetParams = useCallback(function () {
|
235
|
-
var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initPage;
|
255
|
+
}, [extraFilter, page.pageSize, previousPage, getTransformParams]);
|
256
|
+
var resetParams = useCallback(function (page) {
|
236
257
|
setState({
|
237
258
|
searchValues: undefined,
|
238
259
|
allSelected: false,
|
@@ -302,28 +323,6 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
302
323
|
return _ref4.apply(this, arguments);
|
303
324
|
};
|
304
325
|
}();
|
305
|
-
useDeepCompareEffect(function () {
|
306
|
-
if (!manual && curService) {
|
307
|
-
// service改变时重新请求
|
308
|
-
resetParams();
|
309
|
-
onPageChange(initPage);
|
310
|
-
run(getTransformParams());
|
311
|
-
}
|
312
|
-
}, [curService]);
|
313
|
-
useDeepCompareEffect(function () {
|
314
|
-
// extraParams改变时重新请求
|
315
|
-
if (!manual && extraParams) {
|
316
|
-
var newPage = {
|
317
|
-
pageNum: 1,
|
318
|
-
pageSize: page.pageSize
|
319
|
-
};
|
320
|
-
onPageChange(newPage);
|
321
|
-
resetParams(newPage);
|
322
|
-
run(getTransformParams({
|
323
|
-
page: newPage
|
324
|
-
}));
|
325
|
-
}
|
326
|
-
}, [extraParams]);
|
327
326
|
var _rowSelection = {
|
328
327
|
fixed: true,
|
329
328
|
type: rowSelectType,
|
@@ -449,8 +448,8 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
449
448
|
});
|
450
449
|
}
|
451
450
|
}
|
452
|
-
var selectedTip = allSelected
|
453
|
-
|
451
|
+
var selectedTip = allSelected && selectedRowKeys.length ? formatMessage(locale === null || locale === void 0 ? void 0 : (_locale$ProTable5 = locale.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
|
452
|
+
total: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
|
454
453
|
}) : null;
|
455
454
|
var pagination = {
|
456
455
|
current: page.pageNum,
|
@@ -585,7 +585,9 @@
|
|
585
585
|
|
586
586
|
.@{ant-prefix}-table-summary {
|
587
587
|
background-color: var(--zaui-table-header-bg, #f2f3f5);
|
588
|
-
|
588
|
+
td{
|
589
|
+
padding:calc(4px + var(--zaui-size)* 8px);
|
590
|
+
}
|
589
591
|
.@{ant-prefix}-table-cell {
|
590
592
|
font-weight: 500;
|
591
593
|
background-color: var(--zaui-table-header-bg, #f2f3f5);
|
@@ -33,3 +33,11 @@ export declare const getRowKey: (rowKey: any, record: any) => any;
|
|
33
33
|
export declare const removeEmptyKeys: (obj: any) => {
|
34
34
|
[k: string]: unknown;
|
35
35
|
};
|
36
|
+
export declare const getPadding: (el: HTMLElement) => {
|
37
|
+
pLeft: number;
|
38
|
+
pRight: number;
|
39
|
+
pTop: number;
|
40
|
+
pBottom: number;
|
41
|
+
};
|
42
|
+
/** 判断是有值的对象 */
|
43
|
+
export declare const isNonEmptyObject: (obj: any) => obj is Record<string, any>;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
2
3
|
import { get, isEqual } from 'lodash';
|
3
4
|
import { validate } from '@zat-design/utils';
|
@@ -85,4 +86,22 @@ export var removeEmptyKeys = function removeEmptyKeys(obj) {
|
|
85
86
|
});
|
86
87
|
// 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
|
87
88
|
return Object.fromEntries(filteredEntries);
|
89
|
+
};
|
90
|
+
/* 获取边距 */
|
91
|
+
export var getPadding = function getPadding(el) {
|
92
|
+
var style = window.getComputedStyle(el, null);
|
93
|
+
var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
|
94
|
+
var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
|
95
|
+
var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
|
96
|
+
var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
|
97
|
+
return {
|
98
|
+
pLeft: paddingLeft,
|
99
|
+
pRight: paddingRight,
|
100
|
+
pTop: paddingTop,
|
101
|
+
pBottom: paddingBottom
|
102
|
+
};
|
103
|
+
};
|
104
|
+
/** 判断是有值的对象 */
|
105
|
+
export var isNonEmptyObject = function isNonEmptyObject(obj) {
|
106
|
+
return obj !== null && _typeof(obj) === 'object' && !Array.isArray(obj) && Object.keys(obj).length > 0;
|
88
107
|
};
|
@@ -10,7 +10,7 @@ interface Props {
|
|
10
10
|
namesStr?: NamePath;
|
11
11
|
originalValues?: any;
|
12
12
|
form: FormInstance;
|
13
|
-
|
13
|
+
onDiff?: DiffOriginalParams['onDiff'];
|
14
14
|
[name: string]: any;
|
15
15
|
}
|
16
16
|
declare const ListChangedWrapper: React.FC<Props>;
|
@@ -17,7 +17,7 @@ var _lodash = require("lodash");
|
|
17
17
|
var _diffOriginal = require("../../utils/diffOriginal");
|
18
18
|
var _ProConfigProvider = require("../../../ProConfigProvider");
|
19
19
|
var _utils = require("../../../utils");
|
20
|
-
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "
|
20
|
+
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "onDiff", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender", "diffConfig", "index"];
|
21
21
|
var toNamePath = function toNamePath(name) {
|
22
22
|
if (Array.isArray(name)) {
|
23
23
|
return name;
|
@@ -89,7 +89,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
89
89
|
originalNames = _props$originalNames === void 0 ? names : _props$originalNames,
|
90
90
|
originalValues = props.originalValues,
|
91
91
|
form = props.form,
|
92
|
-
|
92
|
+
onDiff = props.onDiff,
|
93
93
|
rowKeyPath = props.rowKeyPath,
|
94
94
|
children = props.children,
|
95
95
|
type = props.type,
|
@@ -120,7 +120,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
120
120
|
form: form
|
121
121
|
});
|
122
122
|
var originalValue = isWatch ? originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originalValue : undefined;
|
123
|
-
var noChange = !
|
123
|
+
var noChange = !onDiff && (!originalValues || isDiffAll ? false : (0, _utils.isEmpty)(originalValue));
|
124
124
|
var diffType = (0, _react.useMemo)(function () {
|
125
125
|
if (!isWatch || noChange) return 'same';
|
126
126
|
var _value = normalize ? normalize(props[valuePropName], undefined, undefined, true) // true 代表是值比对时的调用
|
@@ -135,7 +135,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
135
135
|
value: _value,
|
136
136
|
originalValue: _originalValue,
|
137
137
|
form: form,
|
138
|
-
|
138
|
+
onDiff: onDiff,
|
139
139
|
originRecord: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originRecord,
|
140
140
|
record: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.record,
|
141
141
|
index: index
|
@@ -575,9 +575,10 @@ var RenderField = function RenderField(_ref) {
|
|
575
575
|
originalNames: originalNames,
|
576
576
|
originalValues: originalValues,
|
577
577
|
form: form,
|
578
|
-
|
578
|
+
onDiff: onDiff,
|
579
579
|
type: type,
|
580
580
|
onChange: _onChange,
|
581
|
+
onBlur: _onblur,
|
581
582
|
valuePropName: _formItemProps.valuePropName,
|
582
583
|
normalize: _formItemProps.normalize,
|
583
584
|
getValueProps: _formItemProps.getValueProps,
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
exports.default = void 0;
|
9
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
10
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
11
13
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
15
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
@@ -163,6 +165,40 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
163
165
|
return getRowKey(item) === getRowKey(record);
|
164
166
|
}));
|
165
167
|
};
|
168
|
+
// 分页变更
|
169
|
+
var handlePageChange = (0, _react.useCallback)(/*#__PURE__*/function () {
|
170
|
+
var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(current, pageSize) {
|
171
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
172
|
+
while (1) switch (_context.prev = _context.next) {
|
173
|
+
case 0:
|
174
|
+
_context.prev = 0;
|
175
|
+
_context.next = 3;
|
176
|
+
return form.validateFields([name], {
|
177
|
+
recursive: true
|
178
|
+
});
|
179
|
+
case 3:
|
180
|
+
setState({
|
181
|
+
page: {
|
182
|
+
pageNum: current,
|
183
|
+
pageSize: pageSize !== null && pageSize !== void 0 ? pageSize : page.pageSize
|
184
|
+
}
|
185
|
+
});
|
186
|
+
_context.next = 9;
|
187
|
+
break;
|
188
|
+
case 6:
|
189
|
+
_context.prev = 6;
|
190
|
+
_context.t0 = _context["catch"](0);
|
191
|
+
(0, _tools.handleScrollToError)();
|
192
|
+
case 9:
|
193
|
+
case "end":
|
194
|
+
return _context.stop();
|
195
|
+
}
|
196
|
+
}, _callee, null, [[0, 6]]);
|
197
|
+
}));
|
198
|
+
return function (_x, _x2) {
|
199
|
+
return _ref4.apply(this, arguments);
|
200
|
+
};
|
201
|
+
}(), []);
|
166
202
|
var config = (0, _objectSpread2.default)({
|
167
203
|
form: form,
|
168
204
|
mode: mode,
|
@@ -197,7 +233,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
197
233
|
rowDisabled: rowDisabled,
|
198
234
|
actionDirection: actionDirection,
|
199
235
|
diffConfig: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps === null || resetProps === void 0 ? void 0 : (_resetProps$otherProp = resetProps.otherProps) === null || _resetProps$otherProp === void 0 ? void 0 : _resetProps$otherProp.diffConfig), diffConfig),
|
200
|
-
getIsNew: getIsNew
|
236
|
+
getIsNew: getIsNew,
|
237
|
+
handlePageChange: handlePageChange
|
201
238
|
}, resetProps);
|
202
239
|
// 编辑行设置下样式
|
203
240
|
var _rowClassName = function _rowClassName(record) {
|
@@ -248,15 +285,6 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
248
285
|
},
|
249
286
|
hideSelectAll: isHideCheckBox
|
250
287
|
}, rowSelection);
|
251
|
-
// 分页变更
|
252
|
-
var handlePageChange = (0, _react.useCallback)(function (current, pageSize) {
|
253
|
-
setState({
|
254
|
-
page: {
|
255
|
-
pageNum: current,
|
256
|
-
pageSize: pageSize
|
257
|
-
}
|
258
|
-
});
|
259
|
-
}, []);
|
260
288
|
// 空列表状态
|
261
289
|
var empty = function empty() {
|
262
290
|
var _toolbarProps$filter;
|
@@ -110,7 +110,7 @@ export interface ProColumnsProps<Values = any, T = any> extends Omit<FormItemPro
|
|
110
110
|
rules?: ProRule[] | RulesFn<T>;
|
111
111
|
confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps | void>;
|
112
112
|
dependencies?: NamePath[];
|
113
|
-
onDiff?: DiffOriginalParams['
|
113
|
+
onDiff?: DiffOriginalParams['onDiff'];
|
114
114
|
[key: string]: any;
|
115
115
|
}
|
116
116
|
export type ProEditTableColumnsProps<K = any> = ProColumnsProps & ColumnPropsMap<K, 'ProEditTable'>;
|
@@ -151,7 +151,9 @@
|
|
151
151
|
background-color: var(--zaui-table-header-bg, #f2f3f5);
|
152
152
|
color : var(--zaui-text, #343434);
|
153
153
|
font-weight : 600;
|
154
|
-
|
154
|
+
td{
|
155
|
+
padding: 8px 16px;
|
156
|
+
}
|
155
157
|
.@{ant-prefix}-table-cell-fix-left,
|
156
158
|
.@{ant-prefix}-table-cell-fix-right {
|
157
159
|
background-color: var(--zaui-table-header-bg, #f2f3f5);
|
@@ -20,6 +20,6 @@ export declare const actions: {
|
|
20
20
|
save: ({ record, editingKeys, setState, form, rowName, virtualRowName, result }: any) => Promise<void>;
|
21
21
|
cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey }: any) => void;
|
22
22
|
delete: ({ name, record, editingKeys, setState, form, virtualKey, onlyOneLineMsg }: any) => boolean;
|
23
|
-
add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, }: any) => Promise<boolean>;
|
23
|
+
add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, page, handlePageChange, }: any) => Promise<boolean>;
|
24
24
|
mulDelete: ({ form, name, virtualKey, setState, selectedRowKeys, editingKeys }: any) => void;
|
25
25
|
};
|
@@ -12,6 +12,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
14
14
|
var _icons = require("@ant-design/icons");
|
15
|
+
var _utils = require("@zat-design/utils");
|
15
16
|
var _antd = require("antd");
|
16
17
|
var _lodash = require("lodash");
|
17
18
|
var _tools = require("./tools");
|
@@ -174,11 +175,11 @@ var actions = exports.actions = {
|
|
174
175
|
add: function () {
|
175
176
|
var _add = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(_ref5) {
|
176
177
|
var _tableRef$current$que, _tableRef$current$que2;
|
177
|
-
var result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, _ref5$prefixCls, prefixCls, nextData, rowKey, addData, nextEditingKeys;
|
178
|
+
var result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, _ref5$prefixCls, prefixCls, page, handlePageChange, nextData, rowKey, addData, nextPageNum, nextEditingKeys;
|
178
179
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
179
180
|
while (1) switch (_context2.prev = _context2.next) {
|
180
181
|
case 0:
|
181
|
-
result = _ref5.result, insertType = _ref5.insertType, editingKeys = _ref5.editingKeys, setState = _ref5.setState, form = _ref5.form, name = _ref5.name, virtualName = _ref5.virtualName, virtualKey = _ref5.virtualKey, onlyOneLineMsg = _ref5.onlyOneLineMsg, tableRef = _ref5.tableRef, _ref5$prefixCls = _ref5.prefixCls, prefixCls = _ref5$prefixCls === void 0 ? 'ant' : _ref5$prefixCls;
|
182
|
+
result = _ref5.result, insertType = _ref5.insertType, editingKeys = _ref5.editingKeys, setState = _ref5.setState, form = _ref5.form, name = _ref5.name, virtualName = _ref5.virtualName, virtualKey = _ref5.virtualKey, onlyOneLineMsg = _ref5.onlyOneLineMsg, tableRef = _ref5.tableRef, _ref5$prefixCls = _ref5.prefixCls, prefixCls = _ref5$prefixCls === void 0 ? 'ant' : _ref5$prefixCls, page = _ref5.page, handlePageChange = _ref5.handlePageChange;
|
182
183
|
nextData = (0, _toConsumableArray2.default)(form.getFieldValue(name) || []); // 单行编辑时,需要先保存,才能进行下面的编辑
|
183
184
|
if (!(virtualKey && editingKeys.length >= 1)) {
|
184
185
|
_context2.next = 5;
|
@@ -195,7 +196,14 @@ var actions = exports.actions = {
|
|
195
196
|
addData.addFlag = true;
|
196
197
|
addData.isEditing = true;
|
197
198
|
}
|
198
|
-
insertType === 'before'
|
199
|
+
if (insertType === 'before') {
|
200
|
+
nextData.unshift(addData);
|
201
|
+
handlePageChange(1);
|
202
|
+
} else {
|
203
|
+
nextData.push(addData);
|
204
|
+
nextPageNum = Math.ceil(_utils.tools.calc(nextData.length, '/', page.pageSize));
|
205
|
+
handlePageChange(nextPageNum);
|
206
|
+
}
|
199
207
|
// 当单选情况下,存储正在编辑值
|
200
208
|
if (virtualKey) {
|
201
209
|
nextEditingKeys = (0, _toConsumableArray2.default)(editingKeys); // 开启编辑状态
|
@@ -4,7 +4,7 @@ export interface DiffOriginalParams {
|
|
4
4
|
originalValue: any;
|
5
5
|
value: any;
|
6
6
|
form: FormInstance;
|
7
|
-
|
7
|
+
onDiff?: ({ originValue, originRecord, value, record, index, }: {
|
8
8
|
originValue: any;
|
9
9
|
originRecord: any;
|
10
10
|
value: any;
|
@@ -37,13 +37,13 @@ var filterObject = function filterObject(data) {
|
|
37
37
|
var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
|
38
38
|
var originalValue = params.originalValue,
|
39
39
|
value = params.value,
|
40
|
-
|
40
|
+
onDiff = params.onDiff,
|
41
41
|
originRecord = params.originRecord,
|
42
42
|
record = params.record,
|
43
43
|
index = params.index;
|
44
44
|
// 支持传入自定义比较事件
|
45
|
-
if ((0, _lodash.isFunction)(
|
46
|
-
var diffRes =
|
45
|
+
if ((0, _lodash.isFunction)(onDiff)) {
|
46
|
+
var diffRes = onDiff({
|
47
47
|
originValue: originalValue,
|
48
48
|
originRecord: originRecord,
|
49
49
|
value: value,
|
@@ -599,7 +599,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
|
|
599
599
|
});
|
600
600
|
}
|
601
601
|
});
|
602
|
-
(0,
|
602
|
+
(0, _react.useEffect)(function () {
|
603
603
|
if (onOff && !visible) {
|
604
604
|
var _useRequest$options6;
|
605
605
|
if ((useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options6 = useRequest.options) === null || _useRequest$options6 === void 0 ? void 0 : _useRequest$options6.manual) !== true) {
|