@zat-design/sisyphus-react 3.13.1 → 3.13.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.css +3 -0
- package/dist/less.esm.css +3 -0
- package/es/ProForm/components/render/RenderFields.js +5 -1
- package/es/ProForm/components/render/propsType.d.ts +6 -1
- package/es/ProForm/propsType.d.ts +4 -0
- package/es/ProForm/utils/processDependencies.d.ts +29 -0
- package/es/ProForm/utils/processDependencies.js +55 -0
- package/es/ProIcon/index.js +7 -4
- package/es/ProLayout/components/ProCollapse/index.js +2 -0
- package/es/ProStepTab/index.js +14 -10
- package/es/ProTable/components/RenderColumn/index.js +28 -25
- package/es/ProTable/hooks/useAntdTable.js +3 -9
- package/es/ProTable/style/index.less +3 -0
- package/es/ProTable/utils/index.d.ts +2 -6
- package/es/ProTable/utils/index.js +20 -14
- package/es/ProTooltip/index.d.ts +0 -1
- package/es/ProTooltip/index.js +48 -59
- package/es/ProTooltip/propsType.d.ts +4 -4
- package/es/utils/index.d.ts +8 -0
- package/es/utils/index.js +17 -0
- package/lib/ProForm/components/render/RenderFields.js +5 -1
- package/lib/ProForm/components/render/propsType.d.ts +6 -1
- package/lib/ProForm/propsType.d.ts +4 -0
- package/lib/ProForm/utils/processDependencies.d.ts +29 -0
- package/lib/ProForm/utils/processDependencies.js +63 -0
- package/lib/ProIcon/index.js +7 -4
- package/lib/ProLayout/components/ProCollapse/index.js +2 -0
- package/lib/ProStepTab/index.js +14 -10
- package/lib/ProTable/components/RenderColumn/index.js +26 -23
- package/lib/ProTable/hooks/useAntdTable.js +3 -9
- package/lib/ProTable/style/index.less +3 -0
- package/lib/ProTable/utils/index.d.ts +2 -6
- package/lib/ProTable/utils/index.js +21 -15
- package/lib/ProTooltip/index.d.ts +0 -1
- package/lib/ProTooltip/index.js +47 -58
- package/lib/ProTooltip/propsType.d.ts +4 -4
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +18 -1
- package/package.json +1 -1
package/es/utils/index.d.ts
CHANGED
@@ -3,4 +3,12 @@
|
|
3
3
|
* 空值 或者 仅包含空值的数组视为空
|
4
4
|
*/
|
5
5
|
export declare const isEmpty: (value: any, emptyValue?: string) => boolean;
|
6
|
+
/**
|
7
|
+
* 判断一个元素是否触发了省略号(文本溢出)
|
8
|
+
* 如果元素设置为单行(white-space: nowrap)则比较 scrollWidth 与 clientWidth,
|
9
|
+
* 如果是多行文本(例如使用 -webkit-line-clamp 实现多行截断)则比较 scrollHeight 与 clientHeight。
|
10
|
+
* @param {HTMLElement} element 要检测的元素
|
11
|
+
* @returns {boolean} 如果内容溢出返回 true,否则返回 false
|
12
|
+
*/
|
13
|
+
export declare const isEllipsisActive: (element: Element) => boolean;
|
6
14
|
export declare const useFocus: (element: Element) => boolean;
|
package/es/utils/index.js
CHANGED
@@ -19,6 +19,23 @@ export var isEmpty = function isEmpty(value, emptyValue) {
|
|
19
19
|
}
|
20
20
|
return false;
|
21
21
|
};
|
22
|
+
/**
|
23
|
+
* 判断一个元素是否触发了省略号(文本溢出)
|
24
|
+
* 如果元素设置为单行(white-space: nowrap)则比较 scrollWidth 与 clientWidth,
|
25
|
+
* 如果是多行文本(例如使用 -webkit-line-clamp 实现多行截断)则比较 scrollHeight 与 clientHeight。
|
26
|
+
* @param {HTMLElement} element 要检测的元素
|
27
|
+
* @returns {boolean} 如果内容溢出返回 true,否则返回 false
|
28
|
+
*/
|
29
|
+
export var isEllipsisActive = function isEllipsisActive(element) {
|
30
|
+
if (!element) return false;
|
31
|
+
var computedStyle = window.getComputedStyle(element);
|
32
|
+
// 如果使用单行显示(nowrap),则判断宽度是否足够
|
33
|
+
if (computedStyle.whiteSpace === 'nowrap') {
|
34
|
+
return element.scrollWidth > element.clientWidth;
|
35
|
+
}
|
36
|
+
// 多行情况下,判断高度是否足够
|
37
|
+
return element.scrollHeight > element.clientHeight;
|
38
|
+
};
|
22
39
|
export var useFocus = function useFocus(element) {
|
23
40
|
var _useState = useState(false),
|
24
41
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -17,6 +17,7 @@ var componentMap = _interopRequireWildcard(require("../index"));
|
|
17
17
|
var _utils = require("../../utils");
|
18
18
|
var _useFieldProps = require("../../utils/useFieldProps");
|
19
19
|
var _locale = _interopRequireDefault(require("../../../locale"));
|
20
|
+
var _processDependencies = _interopRequireDefault(require("../../utils/processDependencies"));
|
20
21
|
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "onDiff", "clearNotShow", "required", "confirm", "desensitization", "span"];
|
21
22
|
var RenderFields = function RenderFields(props) {
|
22
23
|
var isView = props.isView,
|
@@ -88,10 +89,13 @@ var RenderFields = function RenderFields(props) {
|
|
88
89
|
var component = column.component;
|
89
90
|
var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
|
90
91
|
var defaultProps = (0, _getDefaultProps.getDefaultProps)(column);
|
92
|
+
// 处理dependencies,支持namesPaths格式
|
93
|
+
var processedDeps = (0, _processDependencies.default)(column.dependencies);
|
91
94
|
// 允许formItem的属性放在column最外层 并优先级高于 formItemProps 内部参数
|
92
95
|
var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), formItemProps), otherFormItemProps), {}, {
|
93
96
|
required: columnRequired !== null && columnRequired !== void 0 ? columnRequired : required,
|
94
|
-
clearNotShow: clearNotShow
|
97
|
+
clearNotShow: clearNotShow,
|
98
|
+
dependencies: processedDeps
|
95
99
|
});
|
96
100
|
_formItemProps.labelWidth = _formItemProps.labelWidth || labelWidth; // 接收Form中的labelWidth
|
97
101
|
if (type && component) {
|
@@ -31,6 +31,7 @@ import type { GroupType as GroupCopyProps } from '../combination/Group/propsType
|
|
31
31
|
import type { ProCollapseProps } from '../../../ProLayout/components/ProCollapse/PropTypes';
|
32
32
|
import type { DistributiveOmit, DiffConfigType } from '../../propsType';
|
33
33
|
import type { DiffOriginalParams } from '../../utils/diffOriginal';
|
34
|
+
import { NamePathsDependencyType } from '../../utils/processDependencies';
|
34
35
|
type ValidateKey = keyof typeof validate;
|
35
36
|
type RegExpKey = keyof typeof regExp;
|
36
37
|
export interface ProRule extends Omit<RuleObject, 'type'> {
|
@@ -230,7 +231,11 @@ export interface ProFormColumn<Values = any> extends Omit<FormItemProps<Values>,
|
|
230
231
|
/** 脱敏数据位置下标 */
|
231
232
|
desensitization?: [number, number] | ReactiveFunction<Values, [number, number]>;
|
232
233
|
}
|
233
|
-
export
|
234
|
+
export interface ProFormColumnWithExtendedDeps<Values = any> extends Omit<ProFormColumn<Values>, 'dependencies'> {
|
235
|
+
/** 表单项依赖关系,扩展支持namesPaths类型 */
|
236
|
+
dependencies?: NamePath[] | (NamePath | NamePathsDependencyType)[];
|
237
|
+
}
|
238
|
+
export type ProFormColumnType<T = any> = ProFormColumnWithExtendedDeps<T> & ColumnTypeMap<T, 'ProForm'>;
|
234
239
|
/**
|
235
240
|
* 表单渲染类型
|
236
241
|
*/
|
@@ -65,6 +65,10 @@ export interface ProFormType<Values = any> extends FormProps<Values> {
|
|
65
65
|
/** 全局控制优先 */
|
66
66
|
globalControl?: boolean;
|
67
67
|
mode?: ModeEnum;
|
68
|
+
/**
|
69
|
+
* 如果有formKey,则会在全局中查找或创建表单实例
|
70
|
+
* 可以不需要手动传入form实例 且formKey的优先级高于form
|
71
|
+
*/
|
68
72
|
formKey?: string;
|
69
73
|
/** 是否查看 */
|
70
74
|
isView?: boolean;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import type { NamePath } from 'antd/es/form/interface';
|
2
|
+
/**
|
3
|
+
* 定义支持多字段依赖的类型
|
4
|
+
*/
|
5
|
+
export interface NamePathsDependencyType {
|
6
|
+
type: 'namesPaths';
|
7
|
+
paths: NamePath[][];
|
8
|
+
}
|
9
|
+
/**
|
10
|
+
* dependencies支持的类型
|
11
|
+
*/
|
12
|
+
export type Dependencies = NamePath[] | NamePathsDependencyType;
|
13
|
+
/**
|
14
|
+
* 处理表单依赖项
|
15
|
+
*
|
16
|
+
* 将常规的依赖项数组与namesPaths类型的依赖项进行处理
|
17
|
+
* 对于namesPaths类型,将其转换为特定格式的字符串:
|
18
|
+
* - 同一路径内的多级通过下划线(_)连接
|
19
|
+
* - 不同路径之间通过连字符(-)连接
|
20
|
+
*
|
21
|
+
* 例如:
|
22
|
+
* { type: 'namesPaths', paths: [['a', 'b'], ['c', 'd']] }
|
23
|
+
* 会被转换成: ['a_b-c_d']
|
24
|
+
*
|
25
|
+
* @param dependencies 依赖项配置
|
26
|
+
* @returns 处理后的依赖项数组
|
27
|
+
*/
|
28
|
+
export declare function processDependencies(dependencies?: any): any;
|
29
|
+
export default processDependencies;
|
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
exports.processDependencies = processDependencies;
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
10
|
+
/**
|
11
|
+
* 处理表单依赖项
|
12
|
+
*
|
13
|
+
* 将常规的依赖项数组与namesPaths类型的依赖项进行处理
|
14
|
+
* 对于namesPaths类型,将其转换为特定格式的字符串:
|
15
|
+
* - 同一路径内的多级通过下划线(_)连接
|
16
|
+
* - 不同路径之间通过连字符(-)连接
|
17
|
+
*
|
18
|
+
* 例如:
|
19
|
+
* { type: 'namesPaths', paths: [['a', 'b'], ['c', 'd']] }
|
20
|
+
* 会被转换成: ['a_b-c_d']
|
21
|
+
*
|
22
|
+
* @param dependencies 依赖项配置
|
23
|
+
* @returns 处理后的依赖项数组
|
24
|
+
*/
|
25
|
+
function processDependencies(dependencies) {
|
26
|
+
/**
|
27
|
+
* 1、没有 dependencies,直接返回
|
28
|
+
*/
|
29
|
+
if (!dependencies) return undefined;
|
30
|
+
/**
|
31
|
+
* 2、如果是数组,处理可能包含多种类型的元素
|
32
|
+
*/
|
33
|
+
if (Array.isArray(dependencies)) {
|
34
|
+
return dependencies.map(function (item) {
|
35
|
+
// 处理数组中的namesPaths类型元素
|
36
|
+
if ((0, _typeof2.default)(item) === 'object' && item !== null && 'type' in item && item.type === 'namesPaths') {
|
37
|
+
// 安全类型转换
|
38
|
+
var itemWithPaths = item;
|
39
|
+
var paths = itemWithPaths.paths;
|
40
|
+
return paths.map(function (path) {
|
41
|
+
return Array.isArray(path) ? path.join('_') : String(path);
|
42
|
+
}).join('-');
|
43
|
+
}
|
44
|
+
// 其他类型元素保持不变
|
45
|
+
return item;
|
46
|
+
});
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* 3、如果是单个namesPaths对象,转换为特定的字符串形式
|
50
|
+
* 例如:[['a','b','c'], ['a','b','d']] => 'a_b_c-a_b_d'
|
51
|
+
*/
|
52
|
+
if ('type' in dependencies && dependencies.type === 'namesPaths') {
|
53
|
+
var paths = dependencies.paths;
|
54
|
+
return [paths.map(function (path) {
|
55
|
+
return Array.isArray(path) ? path.join('_') : String(path);
|
56
|
+
}).join('-')];
|
57
|
+
}
|
58
|
+
/**
|
59
|
+
* 4、如果是普通的 dependencies,直接返回
|
60
|
+
*/
|
61
|
+
return dependencies;
|
62
|
+
}
|
63
|
+
var _default = exports.default = processDependencies;
|
package/lib/ProIcon/index.js
CHANGED
@@ -137,6 +137,9 @@ var ProIcon = function ProIcon(props) {
|
|
137
137
|
}, rotateStyle), style)
|
138
138
|
};
|
139
139
|
var icon = !src ? (0, _jsxRuntime.jsx)("svg", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, svgProps), {}, {
|
140
|
+
style: (0, _objectSpread2.default)({
|
141
|
+
color: color
|
142
|
+
}, svgProps === null || svgProps === void 0 ? void 0 : svgProps.style),
|
140
143
|
onClick: onClick,
|
141
144
|
"aria-hidden": "true",
|
142
145
|
children: (0, _jsxRuntime.jsx)("use", {
|
@@ -153,13 +156,13 @@ var ProIcon = function ProIcon(props) {
|
|
153
156
|
actionMap: actionMap,
|
154
157
|
primaryColor: isQiankun ? qiankunPrimaryColor : primaryColor
|
155
158
|
});
|
159
|
+
if (color) {
|
160
|
+
svg.setAttribute('fill', color);
|
161
|
+
}
|
156
162
|
}
|
157
163
|
}));
|
158
164
|
var RenderIcon = (0, _jsxRuntime.jsx)("span", (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
159
|
-
className: "anticon"
|
160
|
-
style: {
|
161
|
-
color: color
|
162
|
-
}
|
165
|
+
className: "anticon"
|
163
166
|
}, reset), {}, {
|
164
167
|
children: (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
165
168
|
title: iconText,
|
@@ -141,6 +141,8 @@ var ProCollapse = function ProCollapse(props) {
|
|
141
141
|
var rect = proCollapseNoTitles[0].getBoundingClientRect();
|
142
142
|
if ((rect === null || rect === void 0 ? void 0 : rect.height) < window.innerHeight - rect.top) {
|
143
143
|
proCollapseNoTitles[0].style.minHeight = "calc(100vh - ".concat(rect.top + 16, "px)");
|
144
|
+
} else {
|
145
|
+
proCollapseNoTitles[0].style.minHeight = 'auto';
|
144
146
|
}
|
145
147
|
if (proFooterNode) {
|
146
148
|
proCollapseNoTitles[0].style.minHeight = "calc(100vh - ".concat(rect.top + proFooterNode.offsetHeight + 16, "px)");
|
package/lib/ProStepTab/index.js
CHANGED
@@ -257,7 +257,7 @@ function useStepTab() {
|
|
257
257
|
case 0:
|
258
258
|
handler = handlesState[activeKey];
|
259
259
|
if (!handler) {
|
260
|
-
_context4.next =
|
260
|
+
_context4.next = 15;
|
261
261
|
break;
|
262
262
|
}
|
263
263
|
_context4.next = 4;
|
@@ -265,29 +265,33 @@ function useStepTab() {
|
|
265
265
|
case 4:
|
266
266
|
result = _context4.sent;
|
267
267
|
if (!(result && autoNext)) {
|
268
|
-
_context4.next =
|
268
|
+
_context4.next = 12;
|
269
269
|
break;
|
270
270
|
}
|
271
271
|
// 只有当activeKey能转换为数字时才执行自动跳转
|
272
272
|
currentKeyNum = Number(activeKey);
|
273
273
|
if ((0, _lodash.isNaN)(currentKeyNum)) {
|
274
|
-
_context4.next =
|
274
|
+
_context4.next = 12;
|
275
275
|
break;
|
276
276
|
}
|
277
|
-
nextKey = String(currentKeyNum + 1);
|
278
|
-
|
277
|
+
nextKey = String(currentKeyNum + 1);
|
278
|
+
if (Number(nextKey) > queueSteps) {
|
279
|
+
nextKey = String(queueSteps);
|
280
|
+
}
|
281
|
+
// 自动跳转到下一个tab
|
282
|
+
_context4.next = 12;
|
279
283
|
return setCheckActiveKey(nextKey, false);
|
280
|
-
case
|
284
|
+
case 12:
|
281
285
|
if (!(result === false)) {
|
282
|
-
_context4.next =
|
286
|
+
_context4.next = 14;
|
283
287
|
break;
|
284
288
|
}
|
285
289
|
return _context4.abrupt("return", Promise.reject());
|
286
|
-
case 13:
|
287
|
-
return _context4.abrupt("return", result);
|
288
290
|
case 14:
|
289
|
-
return _context4.abrupt("return",
|
291
|
+
return _context4.abrupt("return", result);
|
290
292
|
case 15:
|
293
|
+
return _context4.abrupt("return", Promise.resolve(true));
|
294
|
+
case 16:
|
291
295
|
case "end":
|
292
296
|
return _context4.stop();
|
293
297
|
}
|
@@ -8,6 +8,7 @@ exports.default = void 0;
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
11
|
+
var _react = require("react");
|
11
12
|
var _antd = require("antd");
|
12
13
|
var _ahooks = require("ahooks");
|
13
14
|
var _lodash = require("lodash");
|
@@ -34,35 +35,33 @@ var RenderColumn = function RenderColumn(props) {
|
|
34
35
|
minWidth = props.minWidth,
|
35
36
|
isInNewRowFlag = props.isInNewRowFlag,
|
36
37
|
scroll = props.scroll;
|
38
|
+
var textRef = (0, _react.useRef)(null);
|
37
39
|
var _useSetState = (0, _ahooks.useSetState)({
|
38
40
|
tooltip: false
|
39
41
|
}),
|
40
42
|
_useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
|
41
43
|
tooltip = _useSetState2[0].tooltip,
|
42
44
|
setState = _useSetState2[1];
|
45
|
+
// 计算并更新宽度
|
46
|
+
var updateCalculatedWidth = function updateCalculatedWidth(element) {
|
47
|
+
if (!element) return null;
|
48
|
+
if (!textRef.current) return;
|
49
|
+
// 使用closest方法查找最近的tr
|
50
|
+
var tr = element.closest('tr');
|
51
|
+
if (!tr) return;
|
52
|
+
// 获取tr的宽度
|
53
|
+
var trWidth = tr.getBoundingClientRect().width;
|
54
|
+
// 计算实际宽度
|
55
|
+
var newWidth = (0, _utils.parseWidth)(width, trWidth);
|
56
|
+
return newWidth;
|
57
|
+
};
|
43
58
|
var cellDiffCls = (0, _classnames.default)({
|
44
59
|
'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
|
45
60
|
'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
|
46
61
|
});
|
47
|
-
var checkEllipsis = function checkEllipsis(box) {
|
48
|
-
var range = document.createRange();
|
49
|
-
range.setStart(box, 0);
|
50
|
-
range.setEnd(box, box.childNodes.length);
|
51
|
-
var rangeWidth = range.getBoundingClientRect().width;
|
52
|
-
var _getPadding = (0, _utils.getPadding)(box),
|
53
|
-
pLeft = _getPadding.pLeft,
|
54
|
-
pRight = _getPadding.pRight,
|
55
|
-
pTop = _getPadding.pTop,
|
56
|
-
pBottom = _getPadding.pBottom;
|
57
|
-
var horizontalPadding = pLeft + pRight;
|
58
|
-
if (rangeWidth + horizontalPadding > box.clientWidth) {
|
59
|
-
return true;
|
60
|
-
}
|
61
|
-
return false;
|
62
|
-
};
|
63
62
|
var handleMouseOver = function handleMouseOver(e) {
|
64
63
|
setState({
|
65
|
-
tooltip:
|
64
|
+
tooltip: (0, _utils2.isEllipsisActive)(e.target)
|
66
65
|
});
|
67
66
|
};
|
68
67
|
var tooltipProps = (0, _objectSpread2.default)({
|
@@ -135,6 +134,7 @@ var RenderColumn = function RenderColumn(props) {
|
|
135
134
|
minWidth: minWidth
|
136
135
|
},
|
137
136
|
overlayClassName: "original-value-tooltip",
|
137
|
+
destroyTooltipOnHide: true,
|
138
138
|
placement: "topLeft",
|
139
139
|
autoAdjustOverflow: false,
|
140
140
|
title: (0, _jsxRuntime.jsx)(_antd.Space, {
|
@@ -152,10 +152,7 @@ var RenderColumn = function RenderColumn(props) {
|
|
152
152
|
}) : null
|
153
153
|
})]
|
154
154
|
}) : node
|
155
|
-
})
|
156
|
-
getPopupContainer: function getPopupContainer(triggerNode) {
|
157
|
-
return triggerNode.parentNode;
|
158
|
-
}
|
155
|
+
})
|
159
156
|
}, toolTipProps), {}, {
|
160
157
|
children: renderNode
|
161
158
|
}));
|
@@ -200,18 +197,24 @@ var RenderColumn = function RenderColumn(props) {
|
|
200
197
|
children: "-"
|
201
198
|
});
|
202
199
|
}
|
200
|
+
var calculatedWidth = updateCalculatedWidth(textRef.current);
|
203
201
|
return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
204
202
|
title: value,
|
205
|
-
|
203
|
+
destroyTooltipOnHide: true,
|
204
|
+
onOpenChange: function onOpenChange() {
|
206
205
|
setState({
|
207
206
|
tooltip: false
|
208
207
|
});
|
209
208
|
},
|
210
209
|
open: tooltip
|
211
210
|
}, tooltipProps), {}, {
|
211
|
+
getPopupContainer: function getPopupContainer() {
|
212
|
+
return document.body;
|
213
|
+
},
|
212
214
|
children: (0, _jsxRuntime.jsx)(Text, {
|
215
|
+
ref: textRef,
|
213
216
|
style: {
|
214
|
-
width:
|
217
|
+
width: calculatedWidth,
|
215
218
|
minWidth: minWidth
|
216
219
|
},
|
217
220
|
ellipsis: true,
|
@@ -33,7 +33,7 @@ var useDefaultOptions = function useDefaultOptions(options) {
|
|
33
33
|
};
|
34
34
|
var previousSearchValues = null;
|
35
35
|
function useAntdTable(service, options, useRequestOptions) {
|
36
|
-
var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5;
|
36
|
+
var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5, _result$params;
|
37
37
|
var _useSetState = (0, _ahooks.useSetState)({
|
38
38
|
data: [],
|
39
39
|
total: 0,
|
@@ -110,12 +110,6 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
110
110
|
allSelected: false
|
111
111
|
}, values));
|
112
112
|
};
|
113
|
-
var params = (0, _react.useMemo)(function () {
|
114
|
-
var newQueryBean = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, searchValues), extraFilter);
|
115
|
-
return getTransformParams((0, _objectSpread2.default)({
|
116
|
-
page: page
|
117
|
-
}, newQueryBean));
|
118
|
-
}, [page, searchValues, extraFilter]);
|
119
113
|
var curService = (0, _react.useMemo)(function () {
|
120
114
|
return service.toString();
|
121
115
|
}, [service]);
|
@@ -254,7 +248,7 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
254
248
|
onPageChange(newPage);
|
255
249
|
}
|
256
250
|
// 减少查询按钮的渲染,只有需要重置值时才需要调用
|
257
|
-
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || (0, _utils.isNonEmptyObject)(_values)
|
251
|
+
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || (0, _utils.isNonEmptyObject)(_values) || !(0, _lodash.isEqual)(previousSearchValues, _values)) {
|
258
252
|
previousSearchValues = _values;
|
259
253
|
setState({
|
260
254
|
searchValues: _values,
|
@@ -484,7 +478,7 @@ function useAntdTable(service, options, useRequestOptions) {
|
|
484
478
|
};
|
485
479
|
var useAntdTableProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
|
486
480
|
data: data,
|
487
|
-
params: params,
|
481
|
+
params: (result === null || result === void 0 ? void 0 : (_result$params = result.params) === null || _result$params === void 0 ? void 0 : _result$params[0]) || {},
|
488
482
|
rowSelection: rowSelection,
|
489
483
|
searchValues: searchValues,
|
490
484
|
allSelected: allSelected,
|
@@ -33,11 +33,7 @@ export declare const getRowKey: (rowKey: any, record: any) => any;
|
|
33
33
|
export declare const removeEmptyKeys: (obj?: Record<string, any>) => {
|
34
34
|
[k: string]: any;
|
35
35
|
};
|
36
|
-
export declare const getPadding: (el: HTMLElement) => {
|
37
|
-
pLeft: number;
|
38
|
-
pRight: number;
|
39
|
-
pTop: number;
|
40
|
-
pBottom: number;
|
41
|
-
};
|
42
36
|
/** 判断是有值的对象 */
|
43
37
|
export declare const isNonEmptyObject: (obj: any) => obj is Record<string, any>;
|
38
|
+
/** 解析宽度值 */
|
39
|
+
export declare const parseWidth: (widthValue: number | string | undefined, trWidth: number) => number;
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.removeEmptyKeys = exports.
|
7
|
+
exports.removeEmptyKeys = exports.parseWidth = exports.isNonEmptyObject = exports.isListResult = exports.getRowKey = exports.getOriginalValue = exports.getDecimalDigits = exports.getColumnDataIndex = void 0;
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
10
|
var _lodash = require("lodash");
|
@@ -95,21 +95,27 @@ var removeEmptyKeys = exports.removeEmptyKeys = function removeEmptyKeys(obj) {
|
|
95
95
|
// 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
|
96
96
|
return Object.fromEntries(filteredEntries);
|
97
97
|
};
|
98
|
-
/* 获取边距 */
|
99
|
-
var getPadding = exports.getPadding = function getPadding(el) {
|
100
|
-
var style = window.getComputedStyle(el, null);
|
101
|
-
var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
|
102
|
-
var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
|
103
|
-
var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
|
104
|
-
var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
|
105
|
-
return {
|
106
|
-
pLeft: paddingLeft,
|
107
|
-
pRight: paddingRight,
|
108
|
-
pTop: paddingTop,
|
109
|
-
pBottom: paddingBottom
|
110
|
-
};
|
111
|
-
};
|
112
98
|
/** 判断是有值的对象 */
|
113
99
|
var isNonEmptyObject = exports.isNonEmptyObject = function isNonEmptyObject(obj) {
|
114
100
|
return obj !== null && (0, _typeof2.default)(obj) === 'object' && !Array.isArray(obj) && Object.keys(obj).length > 0;
|
101
|
+
};
|
102
|
+
/** 解析宽度值 */
|
103
|
+
var parseWidth = exports.parseWidth = function parseWidth(widthValue, trWidth) {
|
104
|
+
// 如果是数字,直接返回
|
105
|
+
if (typeof widthValue === 'number') return widthValue;
|
106
|
+
// 如果是字符串,检查是否是百分比
|
107
|
+
if (typeof widthValue === 'string') {
|
108
|
+
if (widthValue.endsWith('%')) {
|
109
|
+
// 计算百分比
|
110
|
+
var percentage = parseFloat(widthValue) / 100;
|
111
|
+
return Math.max(trWidth * percentage, 0);
|
112
|
+
}
|
113
|
+
// 尝试解析为数字(处理如'300px'这样的情况)
|
114
|
+
var numericValue = parseFloat(widthValue);
|
115
|
+
if (!Number.isNaN(numericValue)) {
|
116
|
+
return numericValue;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
// 所有其他情况,返回默认值
|
120
|
+
return null;
|
115
121
|
};
|