@ant-design/pro-components 3.0.0-beta.3 → 3.0.2-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/Statistic/style.js +2 -6
- package/es/descriptions/index.js +2 -1
- package/es/field/ValueTypeToComponent.js +4 -4
- package/es/field/components/Cascader/index.d.ts +2 -2
- package/es/field/components/Checkbox/index.d.ts +1 -1
- package/es/field/components/ColorPicker/index.d.ts +1 -1
- package/es/field/components/DatePicker/index.d.ts +2 -2
- package/es/field/components/Percent/util.d.ts +1 -1
- package/es/field/components/Radio/index.d.ts +1 -1
- package/es/field/components/RangePicker/index.d.ts +2 -2
- package/es/field/components/Segmented/index.d.ts +1 -1
- package/es/field/components/Select/LightSelect/index.d.ts +1 -1
- package/es/field/components/Select/index.d.ts +1 -1
- package/es/field/components/Switch/index.d.ts +1 -1
- package/es/field/components/TreeSelect/index.d.ts +2 -2
- package/es/form/BaseForm/BaseForm.js +3 -2
- package/es/form/components/Cascader/index.js +1 -1
- package/es/form/components/Checkbox/index.js +1 -1
- package/es/form/components/ColorPicker/index.js +1 -1
- package/es/form/components/DatePicker/BaseDatePicker.js +21 -13
- package/es/form/components/DatePicker/DatePicker.js +1 -1
- package/es/form/components/DatePicker/DateTimePicker.js +1 -1
- package/es/form/components/DatePicker/MonthPicker.js +1 -1
- package/es/form/components/DatePicker/QuarterPicker.js +1 -1
- package/es/form/components/DatePicker/TimePicker.js +1 -1
- package/es/form/components/DatePicker/WeekPicker.js +1 -1
- package/es/form/components/DatePicker/YearPicker.js +1 -1
- package/es/form/components/DateRangePicker/BaseDateRanger.js +39 -14
- package/es/form/components/DateRangePicker/DateMonthRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/DateQuarterRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/DateTimeRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/DateWeekRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/DateYearRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/TimeRangePicker.js +1 -1
- package/es/form/components/DateRangePicker/index.js +1 -1
- package/es/form/components/Digit/DigitRange.d.ts +1 -1
- package/es/form/components/Digit/DigitRange.js +1 -1
- package/es/form/components/Digit/index.js +1 -1
- package/es/form/components/FormItem/warpField.js +11 -11
- package/es/form/components/Money/index.js +1 -1
- package/es/form/components/Radio/index.js +49 -14
- package/es/form/components/Rate/index.js +1 -1
- package/es/form/components/SchemaForm/index.js +1 -2
- package/es/form/components/Segmented/index.js +1 -1
- package/es/form/components/Select/index.js +2 -2
- package/es/form/components/Slider/index.js +1 -1
- package/es/form/components/Switch/index.js +1 -1
- package/es/form/components/Text/index.js +3 -3
- package/es/form/components/TreeSelect/index.js +1 -1
- package/es/form/components/UploadButton/index.d.ts +1 -1
- package/es/form/components/UploadButton/index.js +3 -3
- package/es/form/layouts/ProForm/index.d.ts +1 -1
- package/es/form/typing.d.ts +1 -1
- package/es/layout/ProLayout.js +3 -0
- package/es/layout/components/SiderMenu/index.js +4 -2
- package/es/layout/index.d.ts +0 -1
- package/es/layout/index.js +2 -1
- package/es/table/Table.js +52 -75
- package/es/table/components/ColumnSetting/index.js +12 -2
- package/es/table/typing.d.ts +29 -7
- package/es/table/utils/genProColumnToColumn.d.ts +2 -2
- package/es/table/utils/genProColumnToColumn.js +5 -17
- package/es/table/utils/index.d.ts +58 -5
- package/es/table/utils/index.js +155 -18
- package/es/utils/conversionMomentValue/index.js +14 -2
- package/es/utils/hooks/useDocumentTitle/index.js +1 -1
- package/lib/card/components/Statistic/style.js +2 -6
- package/lib/descriptions/index.js +2 -1
- package/lib/field/ValueTypeToComponent.js +4 -4
- package/lib/field/components/Cascader/index.d.ts +2 -2
- package/lib/field/components/Checkbox/index.d.ts +2 -2
- package/lib/field/components/ColorPicker/index.d.ts +2 -2
- package/lib/field/components/DatePicker/index.d.ts +2 -2
- package/lib/field/components/Percent/util.d.ts +1 -1
- package/lib/field/components/Radio/index.d.ts +1 -1
- package/lib/field/components/RangePicker/index.d.ts +2 -2
- package/lib/field/components/Segmented/index.d.ts +1 -1
- package/lib/field/components/Select/LightSelect/index.d.ts +1 -1
- package/lib/field/components/Select/index.d.ts +2 -2
- package/lib/field/components/Switch/index.d.ts +1 -1
- package/lib/field/components/TreeSelect/index.d.ts +2 -2
- package/lib/form/BaseForm/BaseForm.js +3 -2
- package/lib/form/components/Cascader/index.js +1 -1
- package/lib/form/components/Checkbox/index.js +1 -1
- package/lib/form/components/ColorPicker/index.js +1 -1
- package/lib/form/components/DatePicker/BaseDatePicker.js +20 -12
- package/lib/form/components/DatePicker/DatePicker.js +1 -1
- package/lib/form/components/DatePicker/DateTimePicker.js +1 -1
- package/lib/form/components/DatePicker/MonthPicker.js +1 -1
- package/lib/form/components/DatePicker/QuarterPicker.js +1 -1
- package/lib/form/components/DatePicker/TimePicker.js +1 -1
- package/lib/form/components/DatePicker/WeekPicker.js +1 -1
- package/lib/form/components/DatePicker/YearPicker.js +1 -1
- package/lib/form/components/DateRangePicker/BaseDateRanger.js +38 -13
- package/lib/form/components/DateRangePicker/DateMonthRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/DateQuarterRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/DateTimeRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/DateWeekRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/DateYearRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/TimeRangePicker.js +1 -1
- package/lib/form/components/DateRangePicker/index.js +1 -1
- package/lib/form/components/Digit/DigitRange.d.ts +1 -1
- package/lib/form/components/Digit/DigitRange.js +1 -1
- package/lib/form/components/Digit/index.js +1 -1
- package/lib/form/components/FormItem/warpField.js +11 -11
- package/lib/form/components/Money/index.js +1 -1
- package/lib/form/components/Radio/index.js +49 -14
- package/lib/form/components/Rate/index.js +1 -1
- package/lib/form/components/SchemaForm/index.js +1 -2
- package/lib/form/components/Segmented/index.js +1 -1
- package/lib/form/components/Select/index.js +2 -2
- package/lib/form/components/Slider/index.js +1 -1
- package/lib/form/components/Switch/index.js +1 -1
- package/lib/form/components/Text/index.js +3 -3
- package/lib/form/components/TreeSelect/index.js +1 -1
- package/lib/form/components/UploadButton/index.d.ts +1 -1
- package/lib/form/components/UploadButton/index.js +3 -3
- package/lib/form/layouts/ProForm/index.d.ts +1 -1
- package/lib/form/typing.d.ts +1 -1
- package/lib/layout/ProLayout.js +3 -0
- package/lib/layout/components/SiderMenu/index.js +4 -2
- package/lib/layout/index.d.ts +0 -1
- package/lib/layout/index.js +2 -9
- package/lib/table/Table.js +69 -92
- package/lib/table/components/ColumnSetting/index.js +12 -2
- package/lib/table/typing.d.ts +29 -7
- package/lib/table/utils/genProColumnToColumn.d.ts +2 -2
- package/lib/table/utils/genProColumnToColumn.js +4 -16
- package/lib/table/utils/index.d.ts +58 -5
- package/lib/table/utils/index.js +157 -20
- package/lib/utils/conversionMomentValue/index.js +14 -2
- package/lib/utils/hooks/useDocumentTitle/index.js +1 -1
- package/package.json +49 -45
|
@@ -4,6 +4,8 @@ var _ref3;
|
|
|
4
4
|
var _excluded = ["fieldProps", "options", "radioType", "layout", "proFieldProps", "valueEnum"];
|
|
5
5
|
import { Radio } from 'antd';
|
|
6
6
|
import React from 'react';
|
|
7
|
+
import FieldRadio from "../../../field/components/Radio";
|
|
8
|
+
import { ProConfigProvider } from "../../../provider";
|
|
7
9
|
import { runFunction } from "../../../utils";
|
|
8
10
|
import ProField from "../Field";
|
|
9
11
|
import warpField from "../FormItem/warpField";
|
|
@@ -16,20 +18,53 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
16
18
|
proFieldProps = _ref.proFieldProps,
|
|
17
19
|
valueEnum = _ref.valueEnum,
|
|
18
20
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
19
|
-
return /*#__PURE__*/_jsx(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
return /*#__PURE__*/_jsx(ProConfigProvider, {
|
|
22
|
+
valueTypeMap: {
|
|
23
|
+
radio: {
|
|
24
|
+
render: function render(text, props) {
|
|
25
|
+
return /*#__PURE__*/_jsx(FieldRadio, _objectSpread(_objectSpread({}, props), {}, {
|
|
26
|
+
text: text
|
|
27
|
+
}));
|
|
28
|
+
},
|
|
29
|
+
formItemRender: function formItemRender(text, props) {
|
|
30
|
+
return /*#__PURE__*/_jsx(FieldRadio, _objectSpread(_objectSpread({}, props), {}, {
|
|
31
|
+
text: text
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
radioButton: {
|
|
36
|
+
render: function render(text, props) {
|
|
37
|
+
console.log(props);
|
|
38
|
+
return /*#__PURE__*/_jsx(FieldRadio, _objectSpread(_objectSpread({
|
|
39
|
+
radioType: 'button'
|
|
40
|
+
}, props), {}, {
|
|
41
|
+
text: text
|
|
42
|
+
}));
|
|
43
|
+
},
|
|
44
|
+
formItemRender: function formItemRender(text, props) {
|
|
45
|
+
return /*#__PURE__*/_jsx(FieldRadio, _objectSpread(_objectSpread({
|
|
46
|
+
radioType: 'button'
|
|
47
|
+
}, props), {}, {
|
|
48
|
+
text: text
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
children: /*#__PURE__*/_jsx(ProField, _objectSpread(_objectSpread({
|
|
54
|
+
valueType: radioType === 'button' ? 'radioButton' : 'radio',
|
|
55
|
+
ref: ref,
|
|
56
|
+
valueEnum: runFunction(valueEnum, undefined)
|
|
57
|
+
}, rest), {}, {
|
|
58
|
+
fieldProps: _objectSpread({
|
|
59
|
+
options: options,
|
|
60
|
+
layout: layout
|
|
61
|
+
}, fieldProps),
|
|
62
|
+
proFieldProps: proFieldProps,
|
|
63
|
+
fieldConfig: {
|
|
64
|
+
customLightMode: true
|
|
65
|
+
}
|
|
66
|
+
}))
|
|
67
|
+
});
|
|
33
68
|
});
|
|
34
69
|
|
|
35
70
|
/**
|
|
@@ -140,12 +140,11 @@ function BetaSchemaForm(props) {
|
|
|
140
140
|
propsOnValuesChange === null || propsOnValuesChange === void 0 || propsOnValuesChange(changedValues, values);
|
|
141
141
|
}, [propsRef, shouldUpdate]);
|
|
142
142
|
var formChildrenDoms = useDeepCompareMemo(function () {
|
|
143
|
-
if (!formRef.current) return;
|
|
144
143
|
// like StepsForm's columns but not only for StepsForm
|
|
145
144
|
if (columns.length && Array.isArray(columns[0])) return;
|
|
146
145
|
return genItems(columns);
|
|
147
146
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
148
|
-
}, [columns, restProps === null || restProps === void 0 ? void 0 : restProps.open, action, type, formDomsDeps]);
|
|
147
|
+
}, [columns, restProps === null || restProps === void 0 ? void 0 : restProps.open, action, type, formDomsDeps, formRef.current]);
|
|
149
148
|
|
|
150
149
|
/**
|
|
151
150
|
* Append layoutType component specific props
|
|
@@ -46,7 +46,7 @@ var ProFormSelectComponents = function ProFormSelectComponents(_ref, ref) {
|
|
|
46
46
|
request: request,
|
|
47
47
|
params: params,
|
|
48
48
|
valueType: "select",
|
|
49
|
-
|
|
49
|
+
fieldConfig: {
|
|
50
50
|
customLightMode: true
|
|
51
51
|
},
|
|
52
52
|
fieldProps: _objectSpread({
|
|
@@ -104,7 +104,7 @@ var SearchSelect = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
104
104
|
request: request,
|
|
105
105
|
params: params,
|
|
106
106
|
valueType: "select",
|
|
107
|
-
|
|
107
|
+
fieldConfig: {
|
|
108
108
|
customLightMode: true
|
|
109
109
|
},
|
|
110
110
|
fieldProps: _objectSpread({
|
|
@@ -25,7 +25,7 @@ var ProFormText = function ProFormText(_ref) {
|
|
|
25
25
|
return /*#__PURE__*/_jsx(ProField, _objectSpread({
|
|
26
26
|
valueType: valueType,
|
|
27
27
|
fieldProps: fieldProps,
|
|
28
|
-
|
|
28
|
+
fieldConfig: {
|
|
29
29
|
valueType: valueType
|
|
30
30
|
},
|
|
31
31
|
proFieldProps: proFieldProps
|
|
@@ -126,7 +126,7 @@ var Password = function Password(_ref2) {
|
|
|
126
126
|
}
|
|
127
127
|
}),
|
|
128
128
|
proFieldProps: proFieldProps,
|
|
129
|
-
|
|
129
|
+
fieldConfig: {
|
|
130
130
|
valueType: valueType
|
|
131
131
|
}
|
|
132
132
|
}, rest))
|
|
@@ -153,7 +153,7 @@ var Password = function Password(_ref2) {
|
|
|
153
153
|
valueType: "password",
|
|
154
154
|
fieldProps: fieldProps,
|
|
155
155
|
proFieldProps: proFieldProps,
|
|
156
|
-
|
|
156
|
+
fieldConfig: {
|
|
157
157
|
valueType: valueType
|
|
158
158
|
}
|
|
159
159
|
}, rest))
|
|
@@ -48,5 +48,5 @@ export type ProFormUploadButtonProps = ProFormFieldItemProps<UploadProps<any>, H
|
|
|
48
48
|
*/
|
|
49
49
|
imageProps?: Omit<ImageProps, 'src'>;
|
|
50
50
|
} & PickUploadProps;
|
|
51
|
-
declare const ProFormUploadButton: React.
|
|
51
|
+
declare const ProFormUploadButton: React.FC<ProFormUploadButtonProps>;
|
|
52
52
|
export default ProFormUploadButton;
|
|
@@ -30,7 +30,7 @@ var getBase64 = function getBase64(file) {
|
|
|
30
30
|
*
|
|
31
31
|
* @param
|
|
32
32
|
*/
|
|
33
|
-
var BaseProFormUploadButton = function
|
|
33
|
+
var BaseProFormUploadButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
34
34
|
var _fieldProps$name;
|
|
35
35
|
var fieldProps = _ref.fieldProps,
|
|
36
36
|
action = _ref.action,
|
|
@@ -128,8 +128,8 @@ var BaseProFormUploadButton = function BaseProFormUploadButton(_ref, ref) {
|
|
|
128
128
|
src: previewImage
|
|
129
129
|
}))]
|
|
130
130
|
});
|
|
131
|
-
};
|
|
132
|
-
var ProFormUploadButton = (_ref3 = warpField) === null || _ref3 === void 0 ? void 0 : _ref3(
|
|
131
|
+
});
|
|
132
|
+
var ProFormUploadButton = (_ref3 = warpField) === null || _ref3 === void 0 ? void 0 : _ref3(BaseProFormUploadButton, {
|
|
133
133
|
getValueFromEvent: function getValueFromEvent(value) {
|
|
134
134
|
return value.fileList;
|
|
135
135
|
}
|
|
@@ -14,7 +14,7 @@ declare namespace ProForm {
|
|
|
14
14
|
var Provider: React.FC<import("antd/es/form/context").FormProviderProps>;
|
|
15
15
|
var useFormInstance: typeof import("antd/es/form/hooks/useFormInstance").default;
|
|
16
16
|
var EditOrReadOnlyContext: React.Context<{
|
|
17
|
-
mode: "
|
|
17
|
+
mode: "update" | "read" | "edit";
|
|
18
18
|
}>;
|
|
19
19
|
}
|
|
20
20
|
export { ProForm };
|
package/es/form/typing.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ export type ExtendsProps = {
|
|
|
67
67
|
*/
|
|
68
68
|
formItemProps?: FormItemProps;
|
|
69
69
|
/** 给自定义组件行为开的口子 */
|
|
70
|
-
|
|
70
|
+
fieldConfig?: ProFormItemCreateConfig;
|
|
71
71
|
fieldRef?: React.Ref<CaptFieldRef | null | undefined>;
|
|
72
72
|
};
|
|
73
73
|
export type ProFormGroupProps = ProFormBaseGroupProps & ProFormGridConfig;
|
package/es/layout/ProLayout.js
CHANGED
|
@@ -125,6 +125,9 @@ var defaultPageTitleRender = function defaultPageTitleRender(pageProps, props) {
|
|
|
125
125
|
}));
|
|
126
126
|
}
|
|
127
127
|
warning(typeof title === 'string', 'pro-layout: renderPageTitle return value should be a string');
|
|
128
|
+
// 当 pageTitleRender 返回非字符串值时,返回默认的 pageTitleInfo
|
|
129
|
+
// 而不是使用可能包含非字符串值的 title
|
|
130
|
+
return pageTitleInfo;
|
|
128
131
|
}
|
|
129
132
|
return pageTitleInfo;
|
|
130
133
|
};
|
|
@@ -42,8 +42,10 @@ var SiderMenuWrapper = function SiderMenuWrapper(props) {
|
|
|
42
42
|
placement: direction === 'rtl' ? 'right' : 'left',
|
|
43
43
|
className: classNames("".concat(prefixCls, "-drawer-sider"), className),
|
|
44
44
|
open: !collapsed,
|
|
45
|
-
afterOpenChange: function afterOpenChange() {
|
|
46
|
-
|
|
45
|
+
afterOpenChange: function afterOpenChange(open) {
|
|
46
|
+
if (!open) {
|
|
47
|
+
onCollapse === null || onCollapse === void 0 || onCollapse(true);
|
|
48
|
+
}
|
|
47
49
|
},
|
|
48
50
|
style: _objectSpread({
|
|
49
51
|
padding: 0,
|
package/es/layout/index.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ import { getPageTitle } from './getPageTitle';
|
|
|
20
20
|
import type { ProLayoutProps } from './ProLayout';
|
|
21
21
|
import { ProLayout } from './ProLayout';
|
|
22
22
|
import { getMenuData } from './utils/getMenuData';
|
|
23
|
-
export { Watermark as WaterMark } from 'antd';
|
|
24
23
|
export * from './components/Help';
|
|
25
24
|
export type { ProSettings, ProSettings as Settings } from './defaultSettings';
|
|
26
25
|
export type { MenuDataItem } from './typing';
|
package/es/layout/index.js
CHANGED
|
@@ -11,7 +11,8 @@ import { RouteContext } from "./context/RouteContext";
|
|
|
11
11
|
import { getPageTitle } from "./getPageTitle";
|
|
12
12
|
import { ProLayout } from "./ProLayout";
|
|
13
13
|
import { getMenuData } from "./utils/getMenuData";
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
// WaterMark component has been removed, please use antd Watermark directly
|
|
15
16
|
export * from "./components/Help";
|
|
16
17
|
export { DefaultFooter, DefaultHeader, FooterToolbar, getMenuData, getPageTitle, GridContent, PageContainer, PageHeader, PageLoading, ProBreadcrumb, ProLayout, ProPageHeader, RouteContext, SettingDrawer, TopNavHeader };
|
|
17
18
|
export default ProLayout;
|
package/es/table/Table.js
CHANGED
|
@@ -6,7 +6,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
6
6
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
7
7
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
8
8
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
9
|
-
var _excluded = ["rowKey", "tableClassName", "defaultClassName", "action", "tableColumn", "type", "pagination", "rowSelection", "size", "defaultSize", "tableStyle", "toolbarDom", "hideToolbar", "searchNode", "style", "cardProps", "alertDom", "name", "onSortChange", "onFilterChange", "options", "isLightFilter", "className", "cardBordered", "editableUtils", "getRowKey"],
|
|
9
|
+
var _excluded = ["rowKey", "tableClassName", "defaultClassName", "action", "tableColumn", "type", "pagination", "rowSelection", "size", "defaultSize", "tableStyle", "toolbarDom", "hideToolbar", "searchNode", "style", "cardProps", "alertDom", "name", "onSortChange", "onFilterChange", "options", "isLightFilter", "className", "cardBordered", "editableUtils", "getRowKey", "tableRef"],
|
|
10
10
|
_excluded2 = ["cardBordered", "request", "className", "params", "defaultData", "headerTitle", "postData", "ghost", "pagination", "actionRef", "columns", "toolBarRender", "optionsRender", "onLoad", "onRequestError", "style", "cardProps", "tableStyle", "tableClassName", "options", "search", "name", "onLoadingChange", "rowSelection", "beforeSearchSubmit", "tableAlertRender", "defaultClassName", "formRef", "type", "columnEmptyText", "toolbar", "rowKey", "manualRequest", "polling", "tooltip", "revalidateOnFocus", "searchFormRender"];
|
|
11
11
|
import { ConfigProvider, Table } from 'antd';
|
|
12
12
|
import classNames from 'classnames';
|
|
@@ -24,7 +24,7 @@ import Toolbar from "./components/ToolBar";
|
|
|
24
24
|
import { Container, TableContext } from "./Store/Provide";
|
|
25
25
|
import { useStyle } from "./style";
|
|
26
26
|
import useFetchData from "./useFetchData";
|
|
27
|
-
import { genColumnKey, isBordered, mergePagination,
|
|
27
|
+
import { flattenColumns, genColumnKey, getServerFilterResult, getServerSorterResult, isBordered, mergePagination, parseServerDefaultColumnConfig, useActionType } from "./utils";
|
|
28
28
|
import { columnSort } from "./utils/columnSort";
|
|
29
29
|
import { genProColumnToColumn } from "./utils/genProColumnToColumn";
|
|
30
30
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -58,6 +58,7 @@ function TableRender(props) {
|
|
|
58
58
|
cardBordered = props.cardBordered,
|
|
59
59
|
editableUtils = props.editableUtils,
|
|
60
60
|
getRowKey = props.getRowKey,
|
|
61
|
+
tableRef = props.tableRef,
|
|
61
62
|
rest = _objectWithoutProperties(props, _excluded);
|
|
62
63
|
var counter = useContext(TableContext);
|
|
63
64
|
|
|
@@ -82,6 +83,14 @@ function TableRender(props) {
|
|
|
82
83
|
return loopFilter(tableColumns);
|
|
83
84
|
}, [counter.columnsMap, tableColumns]);
|
|
84
85
|
|
|
86
|
+
// 需要进行筛选的列
|
|
87
|
+
var useFilterColumns = useMemo(function () {
|
|
88
|
+
var _columns = flattenColumns(columns);
|
|
89
|
+
return _columns.filter(function (column) {
|
|
90
|
+
return !!column.filters;
|
|
91
|
+
});
|
|
92
|
+
}, [columns]);
|
|
93
|
+
|
|
85
94
|
/**
|
|
86
95
|
* 如果是分页的新增,总是加到最后一行
|
|
87
96
|
*
|
|
@@ -133,22 +142,14 @@ function TableRender(props) {
|
|
|
133
142
|
onChange: function onChange(changePagination, filters, sorter, extra) {
|
|
134
143
|
var _rest$onChange;
|
|
135
144
|
(_rest$onChange = rest.onChange) === null || _rest$onChange === void 0 || _rest$onChange.call(rest, changePagination, filters, sorter, extra);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}, {});
|
|
145
|
-
onSortChange((_omitUndefined = omitUndefined(data)) !== null && _omitUndefined !== void 0 ? _omitUndefined : {});
|
|
146
|
-
} else {
|
|
147
|
-
var _sorter$column, _omitUndefined2;
|
|
148
|
-
var sorterOfColumn = (_sorter$column = sorter.column) === null || _sorter$column === void 0 ? void 0 : _sorter$column.sorter;
|
|
149
|
-
var isSortByField = (sorterOfColumn === null || sorterOfColumn === void 0 ? void 0 : sorterOfColumn.toString()) === sorterOfColumn;
|
|
150
|
-
onSortChange((_omitUndefined2 = omitUndefined(_defineProperty({}, "".concat(isSortByField ? sorterOfColumn : sorter.field), sorter.order))) !== null && _omitUndefined2 !== void 0 ? _omitUndefined2 : {});
|
|
151
|
-
}
|
|
145
|
+
|
|
146
|
+
// 传递服务端筛选数据
|
|
147
|
+
var serverFilter = getServerFilterResult(filters, useFilterColumns);
|
|
148
|
+
onFilterChange(omitUndefined(serverFilter));
|
|
149
|
+
|
|
150
|
+
// 传递服务端排序数据
|
|
151
|
+
var serverSorter = getServerSorterResult(sorter);
|
|
152
|
+
onSortChange(omitUndefined(serverSorter));
|
|
152
153
|
}
|
|
153
154
|
});
|
|
154
155
|
};
|
|
@@ -171,7 +172,8 @@ function TableRender(props) {
|
|
|
171
172
|
rowProps: undefined
|
|
172
173
|
},
|
|
173
174
|
children: /*#__PURE__*/_jsx(Table, _objectSpread(_objectSpread({}, getTableProps()), {}, {
|
|
174
|
-
rowKey: rowKey
|
|
175
|
+
rowKey: rowKey,
|
|
176
|
+
ref: tableRef
|
|
175
177
|
}))
|
|
176
178
|
});
|
|
177
179
|
|
|
@@ -324,6 +326,8 @@ var ProTable = function ProTable(props) {
|
|
|
324
326
|
|
|
325
327
|
/** 通用的来操作子节点的工具类 */
|
|
326
328
|
var actionRef = useRef();
|
|
329
|
+
// antd Table 实例 ref(仅用于转发 scrollTo 能力)
|
|
330
|
+
var antTableRef = useRef(null);
|
|
327
331
|
var defaultFormRef = useRef();
|
|
328
332
|
var formRef = propRef || defaultFormRef;
|
|
329
333
|
useImperativeHandle(propsActionRef, function () {
|
|
@@ -348,54 +352,25 @@ var ProTable = function ProTable(props) {
|
|
|
348
352
|
_useMountMergeState4 = _slicedToArray(_useMountMergeState3, 2),
|
|
349
353
|
formSearch = _useMountMergeState4[0],
|
|
350
354
|
setFormSearch = _useMountMergeState4[1];
|
|
351
|
-
var
|
|
355
|
+
var _useMemo = useMemo(function () {
|
|
356
|
+
var _parseServerDefaultCo = parseServerDefaultColumnConfig(propsColumns),
|
|
357
|
+
sort = _parseServerDefaultCo.sort,
|
|
358
|
+
filter = _parseServerDefaultCo.filter;
|
|
359
|
+
return {
|
|
360
|
+
defaultProFilter: filter,
|
|
361
|
+
defaultProSort: sort
|
|
362
|
+
};
|
|
363
|
+
}, [propsColumns]),
|
|
364
|
+
defaultProFilter = _useMemo.defaultProFilter,
|
|
365
|
+
defaultProSort = _useMemo.defaultProSort;
|
|
366
|
+
var _useMountMergeState5 = useMountMergeState(defaultProFilter),
|
|
352
367
|
_useMountMergeState6 = _slicedToArray(_useMountMergeState5, 2),
|
|
353
368
|
proFilter = _useMountMergeState6[0],
|
|
354
369
|
setProFilter = _useMountMergeState6[1];
|
|
355
|
-
var _useMountMergeState7 = useMountMergeState(
|
|
370
|
+
var _useMountMergeState7 = useMountMergeState(defaultProSort),
|
|
356
371
|
_useMountMergeState8 = _slicedToArray(_useMountMergeState7, 2),
|
|
357
372
|
proSort = _useMountMergeState8[0],
|
|
358
373
|
setProSort = _useMountMergeState8[1];
|
|
359
|
-
|
|
360
|
-
// 平铺所有columns, 用于判断是用的是本地筛选/排序
|
|
361
|
-
var loopColumns = useCallback(function (data) {
|
|
362
|
-
var _columns = [];
|
|
363
|
-
for (var i = 0; i < data.length; i++) {
|
|
364
|
-
var _curItem = data[i];
|
|
365
|
-
if (_curItem.children) {
|
|
366
|
-
loopColumns(_curItem.children);
|
|
367
|
-
} else {
|
|
368
|
-
_columns.push(_curItem);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
return _columns;
|
|
372
|
-
}, []);
|
|
373
|
-
|
|
374
|
-
/** 如果所有列中的 filters = true | undefined 说明是用的是本地筛选 任何一列配置 filters=false,就能绕过这个判断 */
|
|
375
|
-
var useLocaleFilter = useMemo(function () {
|
|
376
|
-
var _columns = loopColumns(propsColumns);
|
|
377
|
-
return _columns === null || _columns === void 0 ? void 0 : _columns.every(function (column) {
|
|
378
|
-
return !!column.filters && !!column.onFilter || column.filters === undefined && column.onFilter === undefined;
|
|
379
|
-
});
|
|
380
|
-
}, [loopColumns, propsColumns]);
|
|
381
|
-
|
|
382
|
-
/** 如果所有列中的 sorter != true 说明是用的是本地排序 任何一列配置 sorter=true,就能绕过这个判断 */
|
|
383
|
-
var useLocaleSorter = useMemo(function () {
|
|
384
|
-
var _columns = loopColumns(propsColumns);
|
|
385
|
-
return _columns === null || _columns === void 0 ? void 0 : _columns.every(function (column) {
|
|
386
|
-
return column.sorter !== true;
|
|
387
|
-
});
|
|
388
|
-
}, [loopColumns, propsColumns]);
|
|
389
|
-
|
|
390
|
-
/** 设置默认的服務端排序和筛选值 */
|
|
391
|
-
useEffect(function () {
|
|
392
|
-
var _parseDefaultColumnCo = parseDefaultColumnConfig(propsColumns),
|
|
393
|
-
sort = _parseDefaultColumnCo.sort,
|
|
394
|
-
filter = _parseDefaultColumnCo.filter;
|
|
395
|
-
if (!useLocaleFilter) setProFilter(filter);
|
|
396
|
-
if (!useLocaleSorter) setProSort(sort);
|
|
397
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
398
|
-
}, []);
|
|
399
374
|
var intl = useIntl();
|
|
400
375
|
|
|
401
376
|
/** 需要初始化 不然默认可能报错 这里取了 defaultCurrent 和 current 为了保证不会重复刷新 */
|
|
@@ -611,13 +586,6 @@ var ProTable = function ProTable(props) {
|
|
|
611
586
|
var _formRef$current;
|
|
612
587
|
// 清空选中行
|
|
613
588
|
_onCleanSelected();
|
|
614
|
-
var _parseDefaultColumnCo2 = parseDefaultColumnConfig(propsColumns),
|
|
615
|
-
sort = _parseDefaultColumnCo2.sort,
|
|
616
|
-
filter = _parseDefaultColumnCo2.filter;
|
|
617
|
-
// 清空筛选
|
|
618
|
-
setProFilter(filter);
|
|
619
|
-
// 清空排序
|
|
620
|
-
setProSort(sort);
|
|
621
589
|
|
|
622
590
|
// 清空 toolbar 搜索
|
|
623
591
|
counter.setKeyWords(undefined);
|
|
@@ -626,11 +594,19 @@ var ProTable = function ProTable(props) {
|
|
|
626
594
|
current: 1
|
|
627
595
|
});
|
|
628
596
|
|
|
597
|
+
// 重置绑定筛选值
|
|
598
|
+
setProFilter(defaultProFilter);
|
|
599
|
+
// 重置绑定排序值
|
|
600
|
+
setProSort(defaultProSort);
|
|
601
|
+
|
|
629
602
|
// 重置表单
|
|
630
603
|
formRef === null || formRef === void 0 || (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.resetFields();
|
|
631
|
-
setFormSearch({});
|
|
632
604
|
},
|
|
633
|
-
editableUtils: editableUtils
|
|
605
|
+
editableUtils: editableUtils,
|
|
606
|
+
scrollTo: function scrollTo(arg) {
|
|
607
|
+
var _current, _current$scrollTo;
|
|
608
|
+
return antTableRef === null || antTableRef === void 0 || (_current = antTableRef.current) === null || _current === void 0 || (_current$scrollTo = _current.scrollTo) === null || _current$scrollTo === void 0 ? void 0 : _current$scrollTo.call(_current, arg);
|
|
609
|
+
}
|
|
634
610
|
});
|
|
635
611
|
|
|
636
612
|
/** 同步 action */
|
|
@@ -804,15 +780,16 @@ var ProTable = function ProTable(props) {
|
|
|
804
780
|
toolbarDom: toolbarDom,
|
|
805
781
|
hideToolbar: hideToolbar,
|
|
806
782
|
onSortChange: function onSortChange(sortConfig) {
|
|
807
|
-
if (
|
|
808
|
-
setProSort(sortConfig);
|
|
783
|
+
if (isEqual(sortConfig, proSort)) return;
|
|
784
|
+
setProSort(sortConfig !== null && sortConfig !== void 0 ? sortConfig : {});
|
|
809
785
|
},
|
|
810
786
|
onFilterChange: function onFilterChange(filterConfig) {
|
|
811
|
-
if (
|
|
812
|
-
setProFilter(filterConfig);
|
|
787
|
+
if (isEqual(filterConfig, proFilter)) return;
|
|
788
|
+
setProFilter(filterConfig !== null && filterConfig !== void 0 ? filterConfig : {});
|
|
813
789
|
},
|
|
814
790
|
editableUtils: editableUtils,
|
|
815
|
-
getRowKey: getRowKey
|
|
791
|
+
getRowKey: getRowKey,
|
|
792
|
+
tableRef: antTableRef
|
|
816
793
|
})));
|
|
817
794
|
};
|
|
818
795
|
|
|
@@ -143,7 +143,9 @@ var CheckboxList = function CheckboxList(_ref3) {
|
|
|
143
143
|
checkedKeys.push(columnKey);
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
treeMap.set(key, item)
|
|
146
|
+
treeMap.set(key, _objectSpread(_objectSpread({}, item), {}, {
|
|
147
|
+
parentKey: parentConfig === null || parentConfig === void 0 ? void 0 : parentConfig.columnKey
|
|
148
|
+
}));
|
|
147
149
|
return item;
|
|
148
150
|
});
|
|
149
151
|
};
|
|
@@ -188,7 +190,7 @@ var CheckboxList = function CheckboxList(_ref3) {
|
|
|
188
190
|
var onCheckTree = useRefFunction(function (e) {
|
|
189
191
|
var newColumnMap = _objectSpread({}, columnsMap);
|
|
190
192
|
var loopSetShow = function loopSetShow(key) {
|
|
191
|
-
var _treeDataConfig$map;
|
|
193
|
+
var _treeDataConfig$map, _treeDataConfig$map2;
|
|
192
194
|
var newSetting = _objectSpread({}, newColumnMap[key]);
|
|
193
195
|
newSetting.show = e.checked;
|
|
194
196
|
// 如果含有子节点,也要选中
|
|
@@ -198,6 +200,14 @@ var CheckboxList = function CheckboxList(_ref3) {
|
|
|
198
200
|
return loopSetShow(item.key);
|
|
199
201
|
});
|
|
200
202
|
}
|
|
203
|
+
|
|
204
|
+
// 如果子节点选择,那父节点也应该选中
|
|
205
|
+
var parentKey = (_treeDataConfig$map2 = treeDataConfig.map) === null || _treeDataConfig$map2 === void 0 || (_treeDataConfig$map2 = _treeDataConfig$map2.get(key)) === null || _treeDataConfig$map2 === void 0 ? void 0 : _treeDataConfig$map2.parentKey;
|
|
206
|
+
if (parentKey) {
|
|
207
|
+
newColumnMap[parentKey] = _objectSpread(_objectSpread({}, newColumnMap[parentKey]), {}, {
|
|
208
|
+
show: true
|
|
209
|
+
});
|
|
210
|
+
}
|
|
201
211
|
newColumnMap[key] = newSetting;
|
|
202
212
|
};
|
|
203
213
|
loopSetShow(e.node.key);
|
package/es/table/typing.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import type { SizeType } from 'antd/lib/config-provider/SizeContext';
|
|
|
3
3
|
import type { LabelTooltipType } from 'antd/lib/form/FormItemLabel';
|
|
4
4
|
import type { NamePath } from 'antd/lib/form/interface';
|
|
5
5
|
import type { SearchProps } from 'antd/lib/input';
|
|
6
|
-
import type { ColumnFilterItem, ColumnType, CompareFn, SortOrder } from 'antd/lib/table/interface';
|
|
6
|
+
import type { ColumnFilterItem, ColumnType, CompareFn, SorterResult, SortOrder } from 'antd/lib/table/interface';
|
|
7
7
|
import type dayjs from 'dayjs';
|
|
8
8
|
import type React from 'react';
|
|
9
|
+
import type { Key } from 'react';
|
|
9
10
|
import type { CSSProperties } from 'react';
|
|
10
11
|
import type { ProCardProps } from '../card';
|
|
11
12
|
import type { ProFieldEmptyText } from '../field';
|
|
@@ -49,13 +50,24 @@ export type ColumnRenderInterface<T> = {
|
|
|
49
50
|
counter: ReturnType<ContainerType>;
|
|
50
51
|
};
|
|
51
52
|
export type TableRowSelection = TableProps<any>['rowSelection'];
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Request filter 參數
|
|
55
|
+
* @description 与 antd 不同,Pro 有自己定义的 request FilterValue 类型,主要做了值内容的转换
|
|
56
|
+
*/
|
|
57
|
+
export type FilterValue = (string | number)[] | null;
|
|
58
|
+
export type ProSorter<T> = string | boolean | CompareFn<T> | {
|
|
59
|
+
compare?: CompareFn<T>;
|
|
60
|
+
/** Config multiple sorter order priority */
|
|
61
|
+
multiple?: number;
|
|
62
|
+
};
|
|
63
|
+
export type ProSorterResult<T> = Omit<SorterResult<T>, 'column'> & {
|
|
64
|
+
column?: ColumnType<T> & {
|
|
65
|
+
sorter?: ProSorter<T>;
|
|
57
66
|
};
|
|
58
67
|
};
|
|
68
|
+
export type ExtraProColumnType<T> = Omit<ColumnType<T>, 'render' | 'children' | 'title' | 'filters' | 'onFilter' | 'sorter'> & {
|
|
69
|
+
sorter?: ProSorter<T>;
|
|
70
|
+
};
|
|
59
71
|
export type ProColumnType<T = unknown, ValueType = 'text'> = ProSchema<T, ExtraProColumnType<T> & {
|
|
60
72
|
children?: ProColumns<T>[];
|
|
61
73
|
index?: number;
|
|
@@ -187,7 +199,7 @@ export type ProTableProps<DataSource, U, ValueType = 'text'> = {
|
|
|
187
199
|
pageSize?: number;
|
|
188
200
|
current?: number;
|
|
189
201
|
keyword?: string;
|
|
190
|
-
}, sort: Record<string, SortOrder>, filter: Record<string,
|
|
202
|
+
}, sort: Record<string, SortOrder>, filter: Record<string, FilterValue>) => Promise<Partial<RequestData<DataSource>>>;
|
|
191
203
|
/** @name 对数据进行一些处理 */
|
|
192
204
|
postData?: any;
|
|
193
205
|
/** @name 默认的数据 */
|
|
@@ -324,6 +336,16 @@ export type ProTableProps<DataSource, U, ValueType = 'text'> = {
|
|
|
324
336
|
export type ActionType = ProCoreActionType & {
|
|
325
337
|
fullScreen?: () => void;
|
|
326
338
|
setPageInfo?: (page: Partial<PageInfo>) => void;
|
|
339
|
+
/**
|
|
340
|
+
* 对齐 antd Table ScrollConfig
|
|
341
|
+
* - number: 作为 top 处理
|
|
342
|
+
* - { index?, key?, top? }
|
|
343
|
+
*/
|
|
344
|
+
scrollTo?: (arg: number | {
|
|
345
|
+
index?: number;
|
|
346
|
+
key?: Key;
|
|
347
|
+
top?: number;
|
|
348
|
+
}) => void;
|
|
327
349
|
};
|
|
328
350
|
/**
|
|
329
351
|
* 用于定义 useFetch 的参数类型
|
|
@@ -4,7 +4,7 @@ import { SortOrder } from 'antd/lib/table/interface';
|
|
|
4
4
|
import type { ProFieldEmptyText } from '../../field';
|
|
5
5
|
import type { ProSchemaComponentTypes, UseEditableUtilType } from '../../utils';
|
|
6
6
|
import type { ContainerType } from '../Store/Provide';
|
|
7
|
-
import type { ProColumns } from '../typing';
|
|
7
|
+
import type { FilterValue, ProColumns } from '../typing';
|
|
8
8
|
type ColumnToColumnReturnType<T> = (TableColumnType<T> & {
|
|
9
9
|
index?: number;
|
|
10
10
|
})[];
|
|
@@ -14,7 +14,7 @@ type ColumnToColumnParams<T> = {
|
|
|
14
14
|
columnEmptyText: ProFieldEmptyText;
|
|
15
15
|
type: ProSchemaComponentTypes;
|
|
16
16
|
editableUtils: UseEditableUtilType;
|
|
17
|
-
proFilter: Record<string,
|
|
17
|
+
proFilter: Record<string, FilterValue>;
|
|
18
18
|
proSort: Record<string, SortOrder>;
|
|
19
19
|
} & Pick<TableProps<T>, 'rowKey' | 'childrenColumnName'>;
|
|
20
20
|
/**
|