@ant-design/pro-components 3.1.1-1 → 3.1.3-0
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/pro-components.min.js +1 -1
- package/es/card/components/Card/index.js +17 -3
- package/es/descriptions/index.d.ts +0 -2
- package/es/descriptions/index.js +1 -5
- package/es/descriptions/useFetchData.js +17 -2
- package/es/field/components/Cascader/index.d.ts +3 -3
- package/es/field/components/Cascader/index.js +0 -2
- package/es/field/components/Checkbox/index.d.ts +2 -2
- package/es/field/components/Checkbox/index.js +2 -0
- package/es/field/components/Code/index.js +1 -8
- package/es/field/components/ColorPicker/index.d.ts +2 -2
- package/es/field/components/DatePicker/index.d.ts +2 -2
- package/es/field/components/DatePicker/index.js +3 -5
- package/es/field/components/FromNow/index.d.ts +1 -0
- package/es/field/components/FromNow/index.js +2 -2
- package/es/field/components/Money/index.js +0 -1
- package/es/field/components/Progress/index.js +1 -2
- package/es/field/components/Radio/index.d.ts +1 -1
- package/es/field/components/RangePicker/index.d.ts +2 -2
- package/es/field/components/RangePicker/index.js +3 -11
- package/es/field/components/Segmented/index.d.ts +1 -1
- package/es/field/components/Select/LightSelect/index.d.ts +3 -1
- package/es/field/components/Select/LightSelect/index.js +3 -1
- package/es/field/components/Select/index.d.ts +2 -2
- package/es/field/components/Select/index.js +1 -4
- package/es/field/components/Switch/index.d.ts +1 -1
- package/es/field/components/Switch/index.js +2 -1
- package/es/field/components/TimePicker/index.d.ts +2 -0
- package/es/field/components/TimePicker/index.js +9 -8
- package/es/field/components/TreeSelect/index.d.ts +3 -3
- package/es/field/components/TreeSelect/index.js +2 -2
- package/es/form/BaseForm/BaseForm.js +16 -2
- package/es/form/BaseForm/LightWrapper/index.js +7 -1
- package/es/form/BaseForm/Submitter/index.js +2 -2
- package/es/form/components/Cascader/index.d.ts +1 -1
- package/es/form/components/ColorPicker/index.d.ts +1 -1
- package/es/form/components/DatePicker/DateTimePicker.js +1 -0
- package/es/form/components/DateRangePicker/DateTimeRangePicker.d.ts +1 -1
- package/es/form/components/DateRangePicker/DateTimeRangePicker.js +1 -3
- package/es/form/components/Digit/DigitRange.d.ts +2 -2
- package/es/form/components/Digit/index.d.ts +1 -1
- package/es/form/components/Field/index.d.ts +0 -1
- package/es/form/components/Field/index.js +3 -5
- package/es/form/components/FormItem/FormItemRender/index.d.ts +1 -0
- package/es/form/components/FormItem/Group/index.js +17 -3
- package/es/form/components/FormItem/index.d.ts +1 -0
- package/es/form/components/FormItem/index.js +16 -31
- package/es/form/components/FormItem/warpField.js +1 -0
- package/es/form/components/Money/index.d.ts +1 -1
- package/es/form/components/Radio/index.d.ts +2 -2
- package/es/form/components/Rate/index.d.ts +1 -1
- package/es/form/components/Slider/index.d.ts +1 -1
- package/es/form/components/TextArea/index.d.ts +1 -1
- package/es/form/helpers/grid.d.ts +7 -3
- package/es/form/helpers/grid.js +19 -4
- package/es/form/layouts/DrawerForm/index.js +16 -2
- package/es/form/layouts/LightFilter/index.js +7 -4
- package/es/form/layouts/ModalForm/index.js +17 -2
- package/es/form/layouts/ProForm/index.d.ts +1 -1
- package/es/form/layouts/QueryFilter/index.js +17 -3
- package/es/form/layouts/StepsForm/index.js +16 -2
- package/es/layout/ProLayout.js +33 -5
- package/es/layout/components/AppsLogoComponents/style/index.js +1 -0
- package/es/layout/components/SettingDrawer/index.js +33 -5
- package/es/layout/components/SiderMenu/BaseMenu.js +0 -2
- package/es/list/ListView.js +6 -3
- package/es/provider/index.d.ts +0 -4
- package/es/provider/index.js +1 -1
- package/es/table/Store/Provide.d.ts +0 -1
- package/es/table/Store/Provide.js +1 -1
- package/es/table/Table.js +0 -1
- package/es/table/typing.d.ts +0 -4
- package/es/table/useFetchData.js +16 -2
- package/es/table/utils/cellRenderToFromItem.d.ts +1 -1
- package/es/table/utils/columnRender.d.ts +1 -1
- package/es/table/utils/columnRender.js +1 -4
- package/es/table/utils/genProColumnToColumn.d.ts +2 -2
- package/es/table/utils/index.d.ts +0 -10
- package/es/table/utils/index.js +0 -12
- package/es/utils/components/FieldLabel/index.js +3 -3
- package/es/utils/components/FieldLabel/style.js +23 -4
- package/es/utils/components/FilterDropdown/index.js +1 -1
- package/es/utils/components/FilterDropdown/style.js +10 -0
- package/es/utils/pickProProps/index.js +1 -1
- package/es/utils/useEditableArray/index.d.ts +1 -1
- package/es/utils/useEditableArray/index.js +1 -1
- package/es/utils/useLazyKVMap.d.ts +5 -0
- package/es/utils/useLazyKVMap.js +28 -0
- package/es/utils/useMediaQuery/index.d.ts +2 -2
- package/es/utils/usePagination.d.ts +8 -0
- package/es/utils/usePagination.js +67 -0
- package/es/utils/useSelection.d.ts +19 -0
- package/es/utils/useSelection.js +86 -0
- package/lib/card/components/Card/index.js +16 -2
- package/lib/descriptions/index.d.ts +0 -2
- package/lib/descriptions/index.js +1 -5
- package/lib/descriptions/useFetchData.js +17 -2
- package/lib/field/components/Cascader/index.js +0 -2
- package/lib/field/components/Checkbox/index.js +2 -0
- package/lib/field/components/Code/index.js +1 -8
- package/lib/field/components/DatePicker/index.js +3 -5
- package/lib/field/components/FromNow/index.d.ts +1 -0
- package/lib/field/components/FromNow/index.js +2 -2
- package/lib/field/components/Money/index.js +0 -1
- package/lib/field/components/Progress/index.js +1 -2
- package/lib/field/components/RangePicker/index.js +3 -11
- package/lib/field/components/Select/LightSelect/index.d.ts +2 -0
- package/lib/field/components/Select/LightSelect/index.js +3 -1
- package/lib/field/components/Select/index.js +1 -4
- package/lib/field/components/Switch/index.js +2 -1
- package/lib/field/components/TimePicker/index.d.ts +2 -0
- package/lib/field/components/TimePicker/index.js +9 -8
- package/lib/field/components/TreeSelect/index.js +2 -2
- package/lib/form/BaseForm/BaseForm.js +16 -2
- package/lib/form/BaseForm/LightWrapper/index.js +7 -1
- package/lib/form/BaseForm/Submitter/index.js +2 -2
- package/lib/form/components/DatePicker/DateTimePicker.js +1 -0
- package/lib/form/components/DateRangePicker/DateTimeRangePicker.d.ts +1 -1
- package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +1 -3
- package/lib/form/components/Field/index.d.ts +0 -1
- package/lib/form/components/Field/index.js +1 -3
- package/lib/form/components/FormItem/FormItemRender/index.d.ts +1 -0
- package/lib/form/components/FormItem/Group/index.js +16 -2
- package/lib/form/components/FormItem/index.d.ts +1 -0
- package/lib/form/components/FormItem/index.js +16 -31
- package/lib/form/components/FormItem/warpField.js +1 -0
- package/lib/form/helpers/grid.d.ts +7 -3
- package/lib/form/helpers/grid.js +20 -4
- package/lib/form/layouts/DrawerForm/index.js +16 -2
- package/lib/form/layouts/LightFilter/index.js +7 -4
- package/lib/form/layouts/ModalForm/index.js +17 -2
- package/lib/form/layouts/QueryFilter/index.js +16 -2
- package/lib/form/layouts/StepsForm/index.js +16 -2
- package/lib/layout/ProLayout.js +32 -4
- package/lib/layout/components/AppsLogoComponents/style/index.js +1 -0
- package/lib/layout/components/SettingDrawer/index.js +32 -4
- package/lib/layout/components/SiderMenu/BaseMenu.js +0 -2
- package/lib/list/ListView.js +7 -4
- package/lib/provider/index.d.ts +0 -4
- package/lib/provider/index.js +1 -1
- package/lib/table/Store/Provide.d.ts +0 -1
- package/lib/table/Store/Provide.js +1 -1
- package/lib/table/Table.js +0 -1
- package/lib/table/typing.d.ts +0 -4
- package/lib/table/useFetchData.js +16 -2
- package/lib/table/utils/cellRenderToFromItem.d.ts +1 -1
- package/lib/table/utils/columnRender.d.ts +1 -1
- package/lib/table/utils/columnRender.js +1 -4
- package/lib/table/utils/genProColumnToColumn.d.ts +2 -2
- package/lib/table/utils/index.d.ts +0 -10
- package/lib/table/utils/index.js +3 -15
- package/lib/utils/components/FieldLabel/index.js +3 -3
- package/lib/utils/components/FieldLabel/style.js +23 -4
- package/lib/utils/components/FilterDropdown/index.js +1 -1
- package/lib/utils/components/FilterDropdown/style.js +10 -0
- package/lib/utils/pickProProps/index.js +1 -1
- package/lib/utils/useEditableArray/index.d.ts +1 -1
- package/lib/utils/useEditableArray/index.js +2 -2
- package/lib/utils/useLazyKVMap.d.ts +5 -0
- package/lib/utils/useLazyKVMap.js +34 -0
- package/lib/utils/usePagination.d.ts +8 -0
- package/lib/utils/usePagination.js +74 -0
- package/lib/utils/useSelection.d.ts +19 -0
- package/lib/utils/useSelection.js +93 -0
- package/package.json +2 -1
|
@@ -5,7 +5,6 @@ export type ProFormFieldProps<T = any, FiledProps = Record<string, any>> = ProSc
|
|
|
5
5
|
mode?: 'edit' | 'read' | 'update';
|
|
6
6
|
isDefaultDom?: boolean;
|
|
7
7
|
ref?: any;
|
|
8
|
-
plain?: boolean;
|
|
9
8
|
text?: any;
|
|
10
9
|
getFieldProps?: () => Record<string, any>;
|
|
11
10
|
getFormItemProps?: () => Record<string, any>;
|
|
@@ -93,7 +93,5 @@ const BaseProFormField = props => {
|
|
|
93
93
|
params: propsParams
|
|
94
94
|
});
|
|
95
95
|
};
|
|
96
|
-
const ProFormField = (0, _warpField.default)?.(
|
|
97
|
-
return (0, _utils.isDeepEqualReact)(nextProps, prevProps, ['onChange', 'onBlur']);
|
|
98
|
-
}));
|
|
96
|
+
const ProFormField = (0, _warpField.default)?.(BaseProFormField);
|
|
99
97
|
var _default = exports.default = ProFormField;
|
|
@@ -130,6 +130,7 @@ export declare const ProFormItemRender: React.FC<Omit<import("antd").FormItemPro
|
|
|
130
130
|
dataFormat?: string | undefined;
|
|
131
131
|
lightProps?: import("src/form").LightWrapperProps | undefined;
|
|
132
132
|
proFormFieldKey?: any;
|
|
133
|
+
fieldProps?: Record<string, any> | undefined;
|
|
133
134
|
} & {
|
|
134
135
|
addonBefore?: React.ReactNode;
|
|
135
136
|
addonAfter?: React.ReactNode;
|
|
@@ -41,13 +41,27 @@ const Group = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
41
41
|
...props
|
|
42
42
|
};
|
|
43
43
|
const [collapsed, setCollapsedInner] = (0, _util.useControlledState)(() => defaultCollapsed || false, props.collapsed);
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
47
|
+
*/
|
|
48
|
+
const onCollapseCallback = (0, _utils.useRefFunction)(c => {
|
|
49
|
+
props.onCollapse?.(c);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
54
|
+
* "Cannot update a component while rendering a different component"
|
|
55
|
+
*/
|
|
44
56
|
const setCollapsed = (0, _react.useCallback)(updater => {
|
|
45
57
|
setCollapsedInner(prev => {
|
|
46
58
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
47
|
-
|
|
59
|
+
queueMicrotask(() => {
|
|
60
|
+
onCollapseCallback(next);
|
|
61
|
+
});
|
|
48
62
|
return next;
|
|
49
63
|
});
|
|
50
|
-
}, [
|
|
64
|
+
}, [onCollapseCallback]);
|
|
51
65
|
const {
|
|
52
66
|
getPrefixCls
|
|
53
67
|
} = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
|
|
@@ -56,6 +56,7 @@ export type ProFormItemProps = FormItemProps & {
|
|
|
56
56
|
dataFormat?: string;
|
|
57
57
|
lightProps?: LightWrapperProps;
|
|
58
58
|
proFormFieldKey?: any;
|
|
59
|
+
fieldProps?: Record<string, any>;
|
|
59
60
|
} & WarpFormItemProps;
|
|
60
61
|
declare const ProFormItem: React.FC<ProFormItemProps>;
|
|
61
62
|
export { FormItemProvide };
|
|
@@ -81,12 +81,23 @@ const WithValueFomFiledProps = formFieldProps => {
|
|
|
81
81
|
if (! /*#__PURE__*/_react.default.isValidElement(filedChildren)) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
82
82
|
children: filedChildren
|
|
83
83
|
});
|
|
84
|
+
|
|
85
|
+
// restProps 可能来自 LightWrapper 的 cloneElement(light 模式下传入 variant/fieldProps),需保留以覆盖 filedChildren.props,避免内层控件线框双线
|
|
86
|
+
const variantFromRest = restProps.variant;
|
|
87
|
+
const fieldPropsFromRest = restProps.fieldProps;
|
|
84
88
|
return /*#__PURE__*/_react.default.cloneElement(filedChildren, (0, _utils.omitUndefined)({
|
|
85
89
|
...restProps,
|
|
86
90
|
[valuePropName]: formFieldProps[valuePropName],
|
|
87
91
|
...filedChildren.props,
|
|
88
92
|
onChange: finalChange,
|
|
89
|
-
fieldProps
|
|
93
|
+
fieldProps: {
|
|
94
|
+
...filedChildren.props?.fieldProps,
|
|
95
|
+
...fieldPropsFromRest,
|
|
96
|
+
...fieldProps
|
|
97
|
+
},
|
|
98
|
+
...(variantFromRest !== undefined && {
|
|
99
|
+
variant: variantFromRest
|
|
100
|
+
}),
|
|
90
101
|
onBlur: isProFormComponent && !isValidElementForFiledChildren && onBlur
|
|
91
102
|
}));
|
|
92
103
|
};
|
|
@@ -120,36 +131,8 @@ const WarpFormItem = ({
|
|
|
120
131
|
if (!addonAfter && !addonBefore) {
|
|
121
132
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Form.Item, {
|
|
122
133
|
...props,
|
|
123
|
-
//help={typeof help !== 'function' ? help : undefined}
|
|
124
134
|
valuePropName: valuePropName,
|
|
125
|
-
getValueProps: getValuePropsFunc
|
|
126
|
-
// @ts-ignore
|
|
127
|
-
// _internalItemRender={{
|
|
128
|
-
// mark: 'pro_table_render',
|
|
129
|
-
// render: (
|
|
130
|
-
// inputProps: FormItemProps & {
|
|
131
|
-
// errors: React.ReactNode[];
|
|
132
|
-
// warnings: React.ReactNode[];
|
|
133
|
-
// },
|
|
134
|
-
// doms: {
|
|
135
|
-
// input: JSX.Element;
|
|
136
|
-
// errorList: JSX.Element;
|
|
137
|
-
// extra: JSX.Element;
|
|
138
|
-
// },
|
|
139
|
-
// ) => (
|
|
140
|
-
// <>
|
|
141
|
-
// {doms.input}
|
|
142
|
-
// {typeof help === 'function'
|
|
143
|
-
// ? help({
|
|
144
|
-
// errors: inputProps.errors,
|
|
145
|
-
// warnings: inputProps.warnings,
|
|
146
|
-
// })
|
|
147
|
-
// : doms.errorList}
|
|
148
|
-
// {doms.extra}
|
|
149
|
-
// </>
|
|
150
|
-
// ),
|
|
151
|
-
// }}
|
|
152
|
-
,
|
|
135
|
+
getValueProps: getValuePropsFunc,
|
|
153
136
|
children: children
|
|
154
137
|
});
|
|
155
138
|
}
|
|
@@ -215,6 +198,7 @@ const ProFormItem = props => {
|
|
|
215
198
|
ignoreFormItem,
|
|
216
199
|
lightProps,
|
|
217
200
|
children: unusedChildren,
|
|
201
|
+
fieldProps,
|
|
218
202
|
...rest
|
|
219
203
|
} = props;
|
|
220
204
|
const formListField = (0, _react.useContext)(_List.FormListContext);
|
|
@@ -268,8 +252,9 @@ const ProFormItem = props => {
|
|
|
268
252
|
valuePropName: props.valuePropName,
|
|
269
253
|
children: props.children
|
|
270
254
|
}, rest.proFormFieldKey || rest.name?.toString());
|
|
255
|
+
const lightPropsForWrapper = (0, _utils.omitUndefined)(lightProps || {});
|
|
271
256
|
const lightDom = noLightFormItem ? children : /*#__PURE__*/(0, _react.createElement)(_BaseForm.LightWrapper, {
|
|
272
|
-
...
|
|
257
|
+
...lightPropsForWrapper,
|
|
273
258
|
key: rest.proFormFieldKey || rest.name?.toString(),
|
|
274
259
|
size: size
|
|
275
260
|
}, children);
|
|
@@ -234,6 +234,7 @@ function warpField(Field, config) {
|
|
|
234
234
|
convertValue: convertValue,
|
|
235
235
|
lightProps: (0, _utils.omitUndefined)({
|
|
236
236
|
...fieldProps,
|
|
237
|
+
variant: rest.variant ?? fieldProps?.variant,
|
|
237
238
|
valueType,
|
|
238
239
|
bordered,
|
|
239
240
|
allowClear: field?.props?.allowClear ?? allowClear,
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { ColProps, RowProps } from 'antd';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import type { ProFormGridConfig } from '../typing';
|
|
4
|
-
export declare const GridContext:
|
|
4
|
+
export declare const GridContext: React.Context<ProFormGridConfig>;
|
|
5
5
|
interface CommonProps {
|
|
6
6
|
Wrapper?: React.FC<any>;
|
|
7
7
|
}
|
|
8
|
+
interface ColWrapperProps extends ColProps, CommonProps {
|
|
9
|
+
variant?: string;
|
|
10
|
+
fieldProps?: Record<string, any>;
|
|
11
|
+
}
|
|
8
12
|
export interface GridHelpers {
|
|
9
13
|
RowWrapper: React.FC<RowProps & CommonProps>;
|
|
10
|
-
ColWrapper: React.FC<
|
|
14
|
+
ColWrapper: React.FC<ColWrapperProps>;
|
|
11
15
|
grid: boolean;
|
|
12
16
|
}
|
|
13
17
|
export declare const gridHelpers: (config: ProFormGridConfig & CommonProps) => GridHelpers;
|
package/lib/form/helpers/grid.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.useGridHelpers = exports.gridHelpers = exports.GridContext = void 0;
|
|
7
8
|
var _antd = require("antd");
|
|
8
|
-
var _react = require("react");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
11
|
const GridContext = exports.GridContext = /*#__PURE__*/(0, _react.createContext)({
|
|
11
12
|
grid: false,
|
|
@@ -38,6 +39,8 @@ const gridHelpers = ({
|
|
|
38
39
|
ColWrapper({
|
|
39
40
|
children,
|
|
40
41
|
Wrapper,
|
|
42
|
+
variant,
|
|
43
|
+
fieldProps,
|
|
41
44
|
...rest
|
|
42
45
|
} = {}) {
|
|
43
46
|
const props = (0, _react.useMemo)(() => {
|
|
@@ -55,14 +58,27 @@ const gridHelpers = ({
|
|
|
55
58
|
}
|
|
56
59
|
return originProps;
|
|
57
60
|
}, [rest]);
|
|
61
|
+
|
|
62
|
+
// LightFilter clone 传入的 variant/fieldProps 需透传给 ProFormItem,否则 lightProps 无 variant
|
|
63
|
+
const childrenWithProps = (variant !== undefined || fieldProps !== undefined) && _react.default.Children.count(children) === 1 && /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, {
|
|
64
|
+
...(variant !== undefined && {
|
|
65
|
+
variant
|
|
66
|
+
}),
|
|
67
|
+
...(fieldProps && {
|
|
68
|
+
fieldProps: {
|
|
69
|
+
...children?.props?.fieldProps,
|
|
70
|
+
...fieldProps
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
}) : children;
|
|
58
74
|
if (!grid) {
|
|
59
75
|
return Wrapper ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
|
|
60
|
-
children:
|
|
61
|
-
}) :
|
|
76
|
+
children: childrenWithProps
|
|
77
|
+
}) : childrenWithProps;
|
|
62
78
|
}
|
|
63
79
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
|
|
64
80
|
...props,
|
|
65
|
-
children:
|
|
81
|
+
children: childrenWithProps
|
|
66
82
|
});
|
|
67
83
|
}
|
|
68
84
|
});
|
|
@@ -64,13 +64,27 @@ function DrawerForm({
|
|
|
64
64
|
const [resizableDrawer, setResizableDrawer] = (0, _react.useState)(false);
|
|
65
65
|
const [drawerWidth, setDrawerWidth] = (0, _react.useState)(width ? width : resize ? resizeInfo?.minWidth : 800);
|
|
66
66
|
const [open, setOpenInner] = (0, _util.useControlledState)(!!propsOpen, propsOpen);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
70
|
+
*/
|
|
71
|
+
const onOpenChangeCallback = (0, _utils.useRefFunction)(o => {
|
|
72
|
+
onOpenChange?.(o);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
77
|
+
* "Cannot update a component while rendering a different component"
|
|
78
|
+
*/
|
|
67
79
|
const setOpen = (0, _react.useCallback)(updater => {
|
|
68
80
|
setOpenInner(prev => {
|
|
69
81
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
70
|
-
|
|
82
|
+
queueMicrotask(() => {
|
|
83
|
+
onOpenChangeCallback(next);
|
|
84
|
+
});
|
|
71
85
|
return next;
|
|
72
86
|
});
|
|
73
|
-
}, [
|
|
87
|
+
}, [onOpenChangeCallback]);
|
|
74
88
|
const footerRef = (0, _react.useRef)(null);
|
|
75
89
|
const footerDomRef = (0, _react.useCallback)(element => {
|
|
76
90
|
if (footerRef.current === null && element) {
|
|
@@ -28,7 +28,7 @@ const LightFilterContainer = props => {
|
|
|
28
28
|
collapse,
|
|
29
29
|
collapseLabel,
|
|
30
30
|
onValuesChange,
|
|
31
|
-
variant,
|
|
31
|
+
variant = 'borderless',
|
|
32
32
|
values,
|
|
33
33
|
footerRender,
|
|
34
34
|
placement,
|
|
@@ -83,6 +83,7 @@ const LightFilterContainer = props => {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.FieldLabel, {
|
|
86
|
+
variant: variant,
|
|
86
87
|
size: size,
|
|
87
88
|
label: intl.getMessage('form.lightFilter.more', '更多筛选')
|
|
88
89
|
});
|
|
@@ -109,7 +110,8 @@ const LightFilterContainer = props => {
|
|
|
109
110
|
children: /*#__PURE__*/_react.default.cloneElement(child, {
|
|
110
111
|
fieldProps: {
|
|
111
112
|
...child.props.fieldProps,
|
|
112
|
-
placement: newPlacement
|
|
113
|
+
placement: newPlacement,
|
|
114
|
+
variant: 'borderless'
|
|
113
115
|
},
|
|
114
116
|
// proFieldProps 会直接作为 ProField 的 props 传递过去
|
|
115
117
|
proFieldProps: {
|
|
@@ -178,7 +180,8 @@ const LightFilterContainer = props => {
|
|
|
178
180
|
children: /*#__PURE__*/_react.default.cloneElement(child, {
|
|
179
181
|
fieldProps: {
|
|
180
182
|
...newFieldProps,
|
|
181
|
-
placement: newPlacement
|
|
183
|
+
placement: newPlacement,
|
|
184
|
+
variant
|
|
182
185
|
}
|
|
183
186
|
})
|
|
184
187
|
}, key);
|
|
@@ -229,7 +232,7 @@ function LightFilter(props) {
|
|
|
229
232
|
return item;
|
|
230
233
|
}),
|
|
231
234
|
size: size,
|
|
232
|
-
variant: variant,
|
|
235
|
+
variant: variant || 'borderless',
|
|
233
236
|
collapse: collapse,
|
|
234
237
|
collapseLabel: collapseLabel,
|
|
235
238
|
placement: placement,
|
|
@@ -10,6 +10,7 @@ var _antd = require("antd");
|
|
|
10
10
|
var _lodashEs = require("lodash-es");
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactDom = require("react-dom");
|
|
13
|
+
var _utils = require("../../../utils");
|
|
13
14
|
var _BaseForm = require("../../BaseForm");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
const {
|
|
@@ -34,13 +35,27 @@ function ModalForm({
|
|
|
34
35
|
const [, forceUpdate] = (0, _react.useState)([]);
|
|
35
36
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
36
37
|
const [open, setOpenInner] = (0, _util.useControlledState)(false, propsOpen);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
41
|
+
*/
|
|
42
|
+
const onOpenChangeCallback = (0, _utils.useRefFunction)(o => {
|
|
43
|
+
onOpenChange?.(o);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
48
|
+
* "Cannot update a component while rendering a different component"
|
|
49
|
+
*/
|
|
37
50
|
const setOpen = (0, _react.useCallback)(updater => {
|
|
38
51
|
setOpenInner(prev => {
|
|
39
52
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
40
|
-
|
|
53
|
+
queueMicrotask(() => {
|
|
54
|
+
onOpenChangeCallback(next);
|
|
55
|
+
});
|
|
41
56
|
return next;
|
|
42
57
|
});
|
|
43
|
-
}, [
|
|
58
|
+
}, [onOpenChangeCallback]);
|
|
44
59
|
const footerRef = (0, _react.useRef)(null);
|
|
45
60
|
const footerDomRef = (0, _react.useCallback)(element => {
|
|
46
61
|
if (footerRef.current === null && element) {
|
|
@@ -87,13 +87,27 @@ const QueryFilterContent = props => {
|
|
|
87
87
|
const resetText = props.resetText || intl.getMessage('tableForm.reset', '重置');
|
|
88
88
|
const searchText = props.searchText || intl.getMessage('tableForm.search', '搜索');
|
|
89
89
|
const [collapsed, setCollapsedInner] = (0, _util.useControlledState)(() => props.defaultCollapsed && !!props.submitter, props.collapsed);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
93
|
+
*/
|
|
94
|
+
const onCollapseCallback = (0, _utils.useRefFunction)(c => {
|
|
95
|
+
props.onCollapse?.(c);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
100
|
+
* "Cannot update a component while rendering a different component"
|
|
101
|
+
*/
|
|
90
102
|
const setCollapsed = (0, _react.useCallback)(updater => {
|
|
91
103
|
setCollapsedInner(prev => {
|
|
92
104
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
93
|
-
|
|
105
|
+
queueMicrotask(() => {
|
|
106
|
+
onCollapseCallback(next);
|
|
107
|
+
});
|
|
94
108
|
return next;
|
|
95
109
|
});
|
|
96
|
-
}, [
|
|
110
|
+
}, [onCollapseCallback]);
|
|
97
111
|
const {
|
|
98
112
|
optionRender,
|
|
99
113
|
collapseRender,
|
|
@@ -126,13 +126,27 @@ function StepsForm(props) {
|
|
|
126
126
|
* 受控的方式来操作表单
|
|
127
127
|
*/
|
|
128
128
|
const [step, setStepInner] = (0, _util.useControlledState)(0, props.current);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
132
|
+
*/
|
|
133
|
+
const onCurrentChangeCallback = (0, _utils.useRefFunction)(current => {
|
|
134
|
+
props.onCurrentChange?.(current);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
139
|
+
* "Cannot update a component while rendering a different component"
|
|
140
|
+
*/
|
|
129
141
|
const setStep = (0, _react.useCallback)(updater => {
|
|
130
142
|
setStepInner(prev => {
|
|
131
143
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
132
|
-
|
|
144
|
+
queueMicrotask(() => {
|
|
145
|
+
onCurrentChangeCallback(next);
|
|
146
|
+
});
|
|
133
147
|
return next;
|
|
134
148
|
});
|
|
135
|
-
}, [
|
|
149
|
+
}, [onCurrentChangeCallback]);
|
|
136
150
|
const layoutRender = (0, _react.useMemo)(() => {
|
|
137
151
|
return StepsLayoutStrategy[stepsProps?.direction || 'horizontal'];
|
|
138
152
|
}, [stepsProps?.direction]);
|
package/lib/layout/ProLayout.js
CHANGED
|
@@ -170,13 +170,27 @@ const BaseProLayout = props => {
|
|
|
170
170
|
const context = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
|
|
171
171
|
const prefixCls = props.prefixCls ?? context.getPrefixCls('pro');
|
|
172
172
|
const [menuLoading, setMenuLoadingInner] = (0, _util.useControlledState)(false, menu?.loading);
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
176
|
+
*/
|
|
177
|
+
const menuOnLoadingChange = (0, _utils.useRefFunction)(loading => {
|
|
178
|
+
menu?.onLoadingChange?.(loading);
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 包装 setMenuLoading,使用 queueMicrotask 延迟回调调用
|
|
183
|
+
* 避免在渲染阶段调用外部回调导致的 React 警告
|
|
184
|
+
*/
|
|
173
185
|
const setMenuLoading = (0, _react.useCallback)(updater => {
|
|
174
186
|
setMenuLoadingInner(prev => {
|
|
175
187
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
176
|
-
|
|
188
|
+
queueMicrotask(() => {
|
|
189
|
+
menuOnLoadingChange(next);
|
|
190
|
+
});
|
|
177
191
|
return next;
|
|
178
192
|
});
|
|
179
|
-
}, [
|
|
193
|
+
}, [menuOnLoadingChange]);
|
|
180
194
|
|
|
181
195
|
// give a default key for swr
|
|
182
196
|
const [defaultId] = (0, _react.useState)(() => {
|
|
@@ -277,13 +291,27 @@ const BaseProLayout = props => {
|
|
|
277
291
|
if (colSize === 'md') return true;
|
|
278
292
|
return false;
|
|
279
293
|
}, props.collapsed);
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
297
|
+
*/
|
|
298
|
+
const onCollapseCallback = (0, _utils.useRefFunction)(c => {
|
|
299
|
+
propsOnCollapse?.(c);
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
304
|
+
* "Cannot update a component while rendering a different component"
|
|
305
|
+
*/
|
|
280
306
|
const onCollapse = (0, _react.useCallback)(updater => {
|
|
281
307
|
onCollapseInner(prev => {
|
|
282
308
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
283
|
-
|
|
309
|
+
queueMicrotask(() => {
|
|
310
|
+
onCollapseCallback(next);
|
|
311
|
+
});
|
|
284
312
|
return next;
|
|
285
313
|
});
|
|
286
|
-
}, [
|
|
314
|
+
}, [onCollapseCallback]);
|
|
287
315
|
|
|
288
316
|
// Splicing parameters, adding menuData and formatMessage in props
|
|
289
317
|
const defaultProps = (0, _util.omit)({
|
|
@@ -28,6 +28,7 @@ const genAppsLogoComponentsStyle = token => {
|
|
|
28
28
|
backgroundColor: token.layout?.colorBgAppListIconHover
|
|
29
29
|
},
|
|
30
30
|
'&-active': {
|
|
31
|
+
borderRadius: token.borderRadius,
|
|
31
32
|
color: token.layout?.colorTextAppListIconHover,
|
|
32
33
|
backgroundColor: token.layout?.colorBgAppListIconHover
|
|
33
34
|
}
|
|
@@ -150,25 +150,53 @@ const SettingDrawer = props => {
|
|
|
150
150
|
} = props;
|
|
151
151
|
const firstRender = (0, _react.useRef)(true);
|
|
152
152
|
const [open, setOpenInner] = (0, _util.useControlledState)(false, props.collapse);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
156
|
+
*/
|
|
157
|
+
const onCollapseChangeCallback = (0, _utils.useRefFunction)(o => {
|
|
158
|
+
props.onCollapseChange?.(o);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
163
|
+
* "Cannot update a component while rendering a different component"
|
|
164
|
+
*/
|
|
153
165
|
const setOpen = (0, _react.useCallback)(updater => {
|
|
154
166
|
setOpenInner(prev => {
|
|
155
167
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
156
|
-
|
|
168
|
+
queueMicrotask(() => {
|
|
169
|
+
onCollapseChangeCallback(next);
|
|
170
|
+
});
|
|
157
171
|
return next;
|
|
158
172
|
});
|
|
159
|
-
}, [
|
|
173
|
+
}, [onCollapseChangeCallback]);
|
|
160
174
|
const [language, setLanguage] = (0, _react.useState)((0, _locales.getLanguage)());
|
|
161
175
|
const [urlParams, setUrlParams] = (0, _useParams.useUrlSearchParams)({}, {
|
|
162
176
|
disabled: disableUrlParams
|
|
163
177
|
});
|
|
164
178
|
const [settingState, setSettingStateInner] = (0, _util.useControlledState)(() => getParamsFromUrl(urlParams, propsSettings || propsDefaultSettings), propsSettings);
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* 使用 useRefFunction 包装回调,确保引用稳定
|
|
182
|
+
*/
|
|
183
|
+
const onSettingChangeCallback = (0, _utils.useRefFunction)(settings => {
|
|
184
|
+
onSettingChange?.(settings);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* 使用 queueMicrotask 延迟回调调用,避免在渲染阶段调用外部回调导致的 React 警告
|
|
189
|
+
* "Cannot update a component while rendering a different component"
|
|
190
|
+
*/
|
|
165
191
|
const setSettingState = (0, _react.useCallback)(updater => {
|
|
166
192
|
setSettingStateInner(prev => {
|
|
167
193
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
|
168
|
-
|
|
194
|
+
queueMicrotask(() => {
|
|
195
|
+
onSettingChangeCallback(next);
|
|
196
|
+
});
|
|
169
197
|
return next;
|
|
170
198
|
});
|
|
171
|
-
}, [
|
|
199
|
+
}, [onSettingChangeCallback]);
|
|
172
200
|
const {
|
|
173
201
|
navTheme,
|
|
174
202
|
colorPrimary,
|
|
@@ -16,8 +16,6 @@ var _defaultSettings = require("../../defaultSettings");
|
|
|
16
16
|
var _utils2 = require("../../utils/utils");
|
|
17
17
|
var _menu = require("./style/menu");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
// todo
|
|
20
|
-
|
|
21
19
|
const MenuItemTooltip = props => {
|
|
22
20
|
const [collapsed, setCollapsed] = (0, _react.useState)(props.collapsed);
|
|
23
21
|
const [open, setOpen] = (0, _react.useState)(false);
|
package/lib/list/ListView.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _util = require("@rc-component/util");
|
|
10
10
|
var _antd = require("antd");
|
|
11
|
-
var _useLazyKVMap = _interopRequireDefault(require("antd/lib/table/hooks/useLazyKVMap"));
|
|
12
|
-
var _usePagination = _interopRequireDefault(require("antd/lib/table/hooks/usePagination"));
|
|
13
|
-
var _useSelection = _interopRequireDefault(require("antd/lib/table/hooks/useSelection"));
|
|
14
11
|
var _clsx = require("clsx");
|
|
15
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
13
|
var _provider = require("../provider");
|
|
14
|
+
var _useLazyKVMap = _interopRequireDefault(require("../utils/useLazyKVMap"));
|
|
15
|
+
var _usePagination = _interopRequireDefault(require("../utils/usePagination"));
|
|
16
|
+
var _useSelection = _interopRequireDefault(require("../utils/useSelection"));
|
|
17
17
|
var _constants = require("./constants");
|
|
18
18
|
var _Item = _interopRequireDefault(require("./Item"));
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -177,6 +177,9 @@ function ListView(props) {
|
|
|
177
177
|
onChange: /*#__PURE__*/_react.default.isValidElement(checkboxDom) ? changeChecked => {
|
|
178
178
|
return checkboxDom?.props?.onChange({
|
|
179
179
|
nativeEvent: {},
|
|
180
|
+
target: {
|
|
181
|
+
checked: changeChecked
|
|
182
|
+
},
|
|
180
183
|
changeChecked
|
|
181
184
|
});
|
|
182
185
|
} : undefined
|
package/lib/provider/index.d.ts
CHANGED
package/lib/provider/index.js
CHANGED
|
@@ -16,7 +16,7 @@ exports.isNeedOpenHash = exports.default = exports.ProProvider = exports.ProConf
|
|
|
16
16
|
exports.useIntl = useIntl;
|
|
17
17
|
var _cssinjs = require("@ant-design/cssinjs");
|
|
18
18
|
var _antd = require("antd");
|
|
19
|
-
var _zh_CN = _interopRequireDefault(require("antd/
|
|
19
|
+
var _zh_CN = _interopRequireDefault(require("antd/es/locale/zh_CN"));
|
|
20
20
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
21
21
|
require("dayjs/locale/zh-cn");
|
|
22
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -13,7 +13,6 @@ export type ColumnsState = {
|
|
|
13
13
|
};
|
|
14
14
|
export type ProTableColumn<T> = ColumnsState & TableColumnType<T>;
|
|
15
15
|
export type UseContainerProps<T = any> = {
|
|
16
|
-
onColumnsStateChange?: (map: Record<string, ColumnsState>) => void;
|
|
17
16
|
size?: DensitySize;
|
|
18
17
|
defaultSize?: DensitySize;
|
|
19
18
|
onSizeChange?: (size: DensitySize) => void;
|
|
@@ -76,7 +76,7 @@ function useContainer(props = {}) {
|
|
|
76
76
|
}
|
|
77
77
|
return props.columnsState?.value || props.columnsState?.defaultValue || defaultColumnKeyMap;
|
|
78
78
|
}, props.columnsState?.value);
|
|
79
|
-
const onColumnsMapChange = props.columnsState?.onChange
|
|
79
|
+
const onColumnsMapChange = props.columnsState?.onChange;
|
|
80
80
|
const setColumnsMap = (0, _react.useCallback)(updater => {
|
|
81
81
|
setColumnsMapInner(prev => {
|
|
82
82
|
const next = typeof updater === 'function' ? updater(prev) : updater;
|
package/lib/table/Table.js
CHANGED
|
@@ -791,7 +791,6 @@ const ProviderTableContainer = props => {
|
|
|
791
791
|
...props,
|
|
792
792
|
columnsState: props.columnsState,
|
|
793
793
|
columns: props.columns,
|
|
794
|
-
onColumnsStateChange: props.onColumnsStateChange,
|
|
795
794
|
onSizeChange: props.onSizeChange,
|
|
796
795
|
size: props.size,
|
|
797
796
|
defaultSize: props.defaultSize
|
package/lib/table/typing.d.ts
CHANGED
|
@@ -162,10 +162,6 @@ export type ProTableProps<DataSource, U, ValueType = 'text'> = {
|
|
|
162
162
|
params?: U;
|
|
163
163
|
/** @name 列状态的配置,可以用来操作列功能 */
|
|
164
164
|
columnsState?: ColumnStateType;
|
|
165
|
-
/**
|
|
166
|
-
* @deprecated 请使用 columnsState.onChange。保留兼容,后续版本将移除。
|
|
167
|
-
*/
|
|
168
|
-
onColumnsStateChange?: (map: Record<string, ColumnsState>) => void;
|
|
169
165
|
onSizeChange?: (size: DensitySize) => void;
|
|
170
166
|
/**
|
|
171
167
|
* @name table 外面卡片的设置
|