@zat-design/sisyphus-react 3.6.6-beta.1 → 3.6.6-beta.5

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.
Files changed (35) hide show
  1. package/es/ProEditTable/components/RcTable/BaseTable.d.ts +6 -0
  2. package/es/ProEditTable/components/RcTable/BaseTable.js +75 -0
  3. package/es/ProEditTable/components/RcTable/DraggableTable.d.ts +7 -0
  4. package/es/ProEditTable/components/RcTable/DraggableTable.js +90 -0
  5. package/es/ProEditTable/components/RcTable/VirtualTable.d.ts +6 -0
  6. package/es/ProEditTable/components/RcTable/VirtualTable.js +166 -0
  7. package/es/ProEditTable/components/RcTable/index.d.ts +6 -0
  8. package/es/ProEditTable/components/RcTable/index.js +6 -0
  9. package/es/ProEditTable/components/RenderField/index.js +1 -1
  10. package/es/ProEditTable/index.js +32 -55
  11. package/es/ProEditTable/propsType.d.ts +5 -0
  12. package/es/ProEditTable/utils/index.js +1 -1
  13. package/es/ProForm/components/combination/ProCascader/index.js +3 -1
  14. package/es/ProSelect/index.js +1 -1
  15. package/es/ProTable/propsType.d.ts +2 -1
  16. package/es/ProTable/useAntdTable.d.ts +2 -2
  17. package/es/ProTable/useAntdTable.js +17 -3
  18. package/lib/ProEditTable/components/RcTable/BaseTable.d.ts +6 -0
  19. package/lib/ProEditTable/components/RcTable/BaseTable.js +81 -0
  20. package/lib/ProEditTable/components/RcTable/DraggableTable.d.ts +7 -0
  21. package/lib/ProEditTable/components/RcTable/DraggableTable.js +96 -0
  22. package/lib/ProEditTable/components/RcTable/VirtualTable.d.ts +6 -0
  23. package/lib/ProEditTable/components/RcTable/VirtualTable.js +172 -0
  24. package/lib/ProEditTable/components/RcTable/index.d.ts +6 -0
  25. package/lib/ProEditTable/components/RcTable/index.js +27 -0
  26. package/lib/ProEditTable/components/RenderField/index.js +1 -1
  27. package/lib/ProEditTable/index.js +31 -52
  28. package/lib/ProEditTable/propsType.d.ts +5 -0
  29. package/lib/ProEditTable/utils/index.js +1 -1
  30. package/lib/ProForm/components/combination/ProCascader/index.js +3 -1
  31. package/lib/ProSelect/index.js +1 -1
  32. package/lib/ProTable/propsType.d.ts +2 -1
  33. package/lib/ProTable/useAntdTable.d.ts +2 -2
  34. package/lib/ProTable/useAntdTable.js +16 -2
  35. package/package.json +5 -3
@@ -0,0 +1,81 @@
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
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var _antd = require("antd");
12
+ var _react = require("react");
13
+ var _excluded = ["tableProps"];
14
+ var BaseTable = function BaseTable(_ref) {
15
+ var _value$;
16
+ var tableProps = _ref.tableProps,
17
+ resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
18
+ var value = tableProps.value,
19
+ headerRender = tableProps.headerRender,
20
+ tableRef = tableProps.tableRef,
21
+ className = tableProps.className,
22
+ columns = tableProps.columns,
23
+ renderRowSelection = tableProps.renderRowSelection,
24
+ rowClassName = tableProps.rowClassName,
25
+ disabled = tableProps.disabled,
26
+ virtualKey = tableProps.virtualKey,
27
+ editingKeys = tableProps.editingKeys,
28
+ isHideCheckBox = tableProps.isHideCheckBox,
29
+ rowDraggable = tableProps.rowDraggable,
30
+ pagination = tableProps.pagination,
31
+ scroll = tableProps.scroll,
32
+ summary = tableProps.summary,
33
+ page = tableProps.page,
34
+ formatMessage = tableProps.formatMessage,
35
+ locale = tableProps.locale,
36
+ handlePageChange = tableProps.handlePageChange;
37
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
38
+ children: [headerRender ? (0, _jsxRuntime.jsx)("div", {
39
+ className: "pro-edit-table-header",
40
+ children: typeof headerRender === 'function' ? headerRender() : headerRender
41
+ }) : null, (0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread2.default)((0, _objectSpread2.default)({
42
+ ref: tableRef,
43
+ className: className,
44
+ dataSource: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value : undefined,
45
+ columns: columns,
46
+ rowSelection: renderRowSelection(),
47
+ rowClassName: rowClassName,
48
+ onRow: function onRow() {
49
+ return {
50
+ disabled: disabled || virtualKey && !!editingKeys.length,
51
+ 'data-hide': isHideCheckBox,
52
+ onClick: function onClick() {},
53
+ rowDraggable: rowDraggable
54
+ };
55
+ }
56
+ }, resetProps), {}, {
57
+ pagination: pagination ? (0, _objectSpread2.default)({
58
+ current: page.pageNum,
59
+ pageSize: page.pageSize,
60
+ showSizeChanger: false,
61
+ showQuickJumper: true,
62
+ total: value === null || value === void 0 ? void 0 : value.length,
63
+ showTotal: function showTotal(total) {
64
+ var _locale$ProEditTable;
65
+ if (!total) return;
66
+ return formatMessage(locale === null || locale === void 0 ? void 0 : (_locale$ProEditTable = locale.ProEditTable) === null || _locale$ProEditTable === void 0 ? void 0 : _locale$ProEditTable.total, {
67
+ total: total
68
+ });
69
+ },
70
+ onChange: handlePageChange
71
+ }, pagination) : false,
72
+ rowKey: "rowKey",
73
+ scroll: {
74
+ x: scroll === null || scroll === void 0 ? void 0 : scroll.x,
75
+ y: (value === null || value === void 0 ? void 0 : value.length) ? scroll === null || scroll === void 0 ? void 0 : scroll.y : undefined
76
+ },
77
+ summary: summary
78
+ }))]
79
+ });
80
+ };
81
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(BaseTable);
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").MemoExoticComponent<({ tableProps, draggableProps, ...resetProps }: {
3
+ [x: string]: any;
4
+ tableProps: any;
5
+ draggableProps: any;
6
+ }) => JSX.Element>;
7
+ export default _default;
@@ -0,0 +1,96 @@
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
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var _antd = require("antd");
12
+ var _react = require("react");
13
+ var _index = require("../index");
14
+ var _excluded = ["tableProps", "draggableProps"];
15
+ var DraggableTable = function DraggableTable(_ref) {
16
+ var _value$;
17
+ var tableProps = _ref.tableProps,
18
+ draggableProps = _ref.draggableProps,
19
+ resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
+ var value = tableProps.value,
21
+ headerRender = tableProps.headerRender,
22
+ tableRef = tableProps.tableRef,
23
+ className = tableProps.className,
24
+ columns = tableProps.columns,
25
+ renderRowSelection = tableProps.renderRowSelection,
26
+ rowClassName = tableProps.rowClassName,
27
+ disabled = tableProps.disabled,
28
+ virtualKey = tableProps.virtualKey,
29
+ editingKeys = tableProps.editingKeys,
30
+ isHideCheckBox = tableProps.isHideCheckBox,
31
+ rowDraggable = tableProps.rowDraggable,
32
+ pagination = tableProps.pagination,
33
+ scroll = tableProps.scroll,
34
+ summary = tableProps.summary,
35
+ page = tableProps.page,
36
+ formatMessage = tableProps.formatMessage,
37
+ locale = tableProps.locale,
38
+ handlePageChange = tableProps.handlePageChange;
39
+ var onChange = draggableProps.onChange,
40
+ onDrag = draggableProps.onDrag,
41
+ draggable = draggableProps.draggable;
42
+ return (0, _jsxRuntime.jsxs)(_index.DndWrapper, {
43
+ value: value,
44
+ onChange: onChange,
45
+ onDrag: onDrag,
46
+ disabled: disabled,
47
+ draggable: draggable,
48
+ children: [headerRender ? (0, _jsxRuntime.jsx)("div", {
49
+ className: "pro-edit-table-header",
50
+ children: typeof headerRender === 'function' ? headerRender() : headerRender
51
+ }) : null, (0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread2.default)((0, _objectSpread2.default)({
52
+ ref: tableRef,
53
+ className: className,
54
+ dataSource: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value : undefined,
55
+ columns: columns,
56
+ rowSelection: renderRowSelection(),
57
+ rowClassName: rowClassName,
58
+ components: {
59
+ body: {
60
+ row: _index.Row
61
+ }
62
+ },
63
+ onRow: function onRow() {
64
+ return {
65
+ disabled: disabled || virtualKey && !!editingKeys.length,
66
+ 'data-hide': isHideCheckBox,
67
+ onClick: function onClick() {},
68
+ rowDraggable: rowDraggable
69
+ };
70
+ }
71
+ }, resetProps), {}, {
72
+ pagination: pagination ? (0, _objectSpread2.default)({
73
+ current: page.pageNum,
74
+ pageSize: page.pageSize,
75
+ showSizeChanger: false,
76
+ showQuickJumper: true,
77
+ total: value === null || value === void 0 ? void 0 : value.length,
78
+ showTotal: function showTotal(total) {
79
+ var _locale$ProEditTable;
80
+ if (!total) return;
81
+ return formatMessage(locale === null || locale === void 0 ? void 0 : (_locale$ProEditTable = locale.ProEditTable) === null || _locale$ProEditTable === void 0 ? void 0 : _locale$ProEditTable.total, {
82
+ total: total
83
+ });
84
+ },
85
+ onChange: handlePageChange
86
+ }, pagination) : false,
87
+ rowKey: "rowKey",
88
+ scroll: {
89
+ x: scroll === null || scroll === void 0 ? void 0 : scroll.x,
90
+ y: (value === null || value === void 0 ? void 0 : value.length) ? scroll === null || scroll === void 0 ? void 0 : scroll.y : undefined
91
+ },
92
+ summary: summary
93
+ }))]
94
+ });
95
+ };
96
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(DraggableTable);
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ tableProps, ...resetProps }: {
3
+ [x: string]: any;
4
+ tableProps: any;
5
+ }) => JSX.Element>;
6
+ export default _default;
@@ -0,0 +1,172 @@
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
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _antd = require("antd");
13
+ var _react = require("react");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
16
+ var _reactWindow = require("react-window");
17
+ var _excluded = ["tableProps"];
18
+ var VirtualTable = function VirtualTable(_ref) {
19
+ var _value$;
20
+ var tableProps = _ref.tableProps,
21
+ resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
22
+ var value = tableProps.value,
23
+ headerRender = tableProps.headerRender,
24
+ tableRef = tableProps.tableRef,
25
+ className = tableProps.className,
26
+ columns = tableProps.columns,
27
+ renderRowSelection = tableProps.renderRowSelection,
28
+ rowClassName = tableProps.rowClassName,
29
+ disabled = tableProps.disabled,
30
+ virtualKey = tableProps.virtualKey,
31
+ editingKeys = tableProps.editingKeys,
32
+ isHideCheckBox = tableProps.isHideCheckBox,
33
+ rowDraggable = tableProps.rowDraggable,
34
+ scroll = tableProps.scroll,
35
+ summary = tableProps.summary;
36
+ var _useState = (0, _react.useState)(0),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
+ tableWidth = _useState2[0],
39
+ setTableWidth = _useState2[1];
40
+ var widthColumnCount = columns.filter(function (_ref2) {
41
+ var width = _ref2.width;
42
+ return !width;
43
+ }).length;
44
+ var mergedColumns = columns.map(function (column) {
45
+ if (column.width) {
46
+ return column;
47
+ }
48
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
49
+ width: Math.floor(tableWidth / widthColumnCount)
50
+ });
51
+ });
52
+ var gridRef = (0, _react.useRef)();
53
+ var _useState3 = (0, _react.useState)(function () {
54
+ var obj = {};
55
+ Object.defineProperty(obj, 'scrollLeft', {
56
+ get: function get() {
57
+ if (gridRef.current) {
58
+ var _gridRef$current, _gridRef$current$stat;
59
+ return (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : (_gridRef$current$stat = _gridRef$current.state) === null || _gridRef$current$stat === void 0 ? void 0 : _gridRef$current$stat.scrollLeft;
60
+ }
61
+ return null;
62
+ },
63
+ set: function set(scrollLeft) {
64
+ if (gridRef.current) {
65
+ gridRef.current.scrollTo({
66
+ scrollLeft: scrollLeft
67
+ });
68
+ }
69
+ }
70
+ });
71
+ return obj;
72
+ }),
73
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
74
+ connectObject = _useState4[0];
75
+ var resetVirtualGrid = function resetVirtualGrid() {
76
+ var _gridRef$current2;
77
+ (_gridRef$current2 = gridRef.current) === null || _gridRef$current2 === void 0 ? void 0 : _gridRef$current2.resetAfterIndices({
78
+ columnIndex: 0,
79
+ shouldForceUpdate: true
80
+ });
81
+ };
82
+ (0, _react.useEffect)(function () {
83
+ return resetVirtualGrid;
84
+ }, [tableWidth]);
85
+ var renderVirtualList = function renderVirtualList(rawData, _ref3) {
86
+ var scrollbarSize = _ref3.scrollbarSize,
87
+ ref = _ref3.ref,
88
+ _onScroll = _ref3.onScroll;
89
+ ref.current = connectObject;
90
+ var totalHeight = rawData.length * 54;
91
+ return (0, _jsxRuntime.jsx)(_reactWindow.VariableSizeGrid, {
92
+ ref: gridRef,
93
+ className: "virtual-grid",
94
+ columnCount: mergedColumns.length,
95
+ columnWidth: function columnWidth(index) {
96
+ var _width2;
97
+ var width = mergedColumns[index].width;
98
+ var _width = width;
99
+ if (typeof _width === 'string' && ((_width2 = _width) === null || _width2 === void 0 ? void 0 : _width2.includes('px'))) {
100
+ _width = parseInt(width, 10);
101
+ }
102
+ return totalHeight > scroll.y && index === mergedColumns.length - 1 ? _width - scrollbarSize - 1 : _width;
103
+ },
104
+ height: scroll.y,
105
+ rowCount: rawData.length,
106
+ rowHeight: function rowHeight() {
107
+ return 54;
108
+ },
109
+ width: tableWidth,
110
+ onScroll: function onScroll(_ref4) {
111
+ var scrollLeft = _ref4.scrollLeft;
112
+ _onScroll({
113
+ scrollLeft: scrollLeft
114
+ });
115
+ },
116
+ children: function children(_ref5) {
117
+ var columnIndex = _ref5.columnIndex,
118
+ rowIndex = _ref5.rowIndex,
119
+ style = _ref5.style;
120
+ return (0, _jsxRuntime.jsx)("div", {
121
+ className: (0, _classnames.default)('virtual-table-cell', {
122
+ 'virtual-table-cell-last': columnIndex === mergedColumns.length - 1
123
+ }),
124
+ style: style,
125
+ children: rawData[rowIndex][mergedColumns[columnIndex].dataIndex]
126
+ });
127
+ }
128
+ });
129
+ };
130
+ return (0, _jsxRuntime.jsxs)(_rcResizeObserver.default, {
131
+ onResize: function onResize(_ref6) {
132
+ var _width3;
133
+ var width = _ref6.width;
134
+ var _width = width;
135
+ if (typeof _width === 'string' && ((_width3 = _width) === null || _width3 === void 0 ? void 0 : _width3.includes('px'))) {
136
+ _width = parseInt(width, 10);
137
+ }
138
+ setTableWidth(_width);
139
+ },
140
+ children: [headerRender ? (0, _jsxRuntime.jsx)("div", {
141
+ className: "pro-edit-table-header",
142
+ children: typeof headerRender === 'function' ? headerRender() : headerRender
143
+ }) : null, (0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread2.default)((0, _objectSpread2.default)({
144
+ ref: tableRef,
145
+ className: className,
146
+ dataSource: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value : undefined,
147
+ columns: mergedColumns,
148
+ rowSelection: renderRowSelection(),
149
+ rowClassName: rowClassName,
150
+ components: {
151
+ body: renderVirtualList
152
+ },
153
+ onRow: function onRow() {
154
+ return {
155
+ disabled: disabled || virtualKey && !!editingKeys.length,
156
+ 'data-hide': isHideCheckBox,
157
+ onClick: function onClick() {},
158
+ rowDraggable: rowDraggable
159
+ };
160
+ }
161
+ }, resetProps), {}, {
162
+ pagination: false,
163
+ rowKey: "rowKey",
164
+ scroll: {
165
+ x: scroll === null || scroll === void 0 ? void 0 : scroll.x,
166
+ y: (value === null || value === void 0 ? void 0 : value.length) ? scroll === null || scroll === void 0 ? void 0 : scroll.y : undefined
167
+ },
168
+ summary: summary
169
+ }))]
170
+ });
171
+ };
172
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(VirtualTable);
@@ -0,0 +1,6 @@
1
+ /** 基础表格 */
2
+ export { default as BaseTable } from './BaseTable';
3
+ /** 拖拽表格 */
4
+ export { default as DraggableTable } from './DraggableTable';
5
+ /** 虚拟列表表格 */
6
+ export { default as VirtualTable } from './VirtualTable';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "BaseTable", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _BaseTable.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "DraggableTable", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _DraggableTable.default;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "VirtualTable", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _VirtualTable.default;
23
+ }
24
+ });
25
+ var _BaseTable = _interopRequireDefault(require("./BaseTable"));
26
+ var _DraggableTable = _interopRequireDefault(require("./DraggableTable"));
27
+ var _VirtualTable = _interopRequireDefault(require("./VirtualTable"));
@@ -594,7 +594,7 @@ var RenderField = function RenderField(_ref) {
594
594
  }) : null;
595
595
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
596
596
  value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
597
- children: !originalDiffTip || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
597
+ children: !originalTitle || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
598
598
  title: originalTitle,
599
599
  placement: "topLeft",
600
600
  open: changed ? undefined : false,
@@ -23,9 +23,10 @@ var _components = require("./components");
23
23
  var _ProForm = _interopRequireDefault(require("../ProForm"));
24
24
  var _empty = _interopRequireDefault(require("../assets/empty.png"));
25
25
  var _locale = _interopRequireWildcard(require("../locale"));
26
- var _excluded = ["value", "onChange", "onDrag", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalDiffTip", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection"];
26
+ var _RcTable = require("./components/RcTable");
27
+ var _excluded = ["value", "onChange", "onDrag", "className", "columns", "type", "mode", "stripe", "draggable", "virtual", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalDiffTip", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection"];
27
28
  var ProEditTable = function ProEditTable(_ref, ref) {
28
- var _resetProps$id, _resetProps$id$split, _themeConfig$data2, _value$;
29
+ var _resetProps$id, _resetProps$id$split, _themeConfig$data2;
29
30
  var value = _ref.value,
30
31
  onChange = _ref.onChange,
31
32
  onDrag = _ref.onDrag,
@@ -35,6 +36,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
35
36
  mode = _ref.mode,
36
37
  stripe = _ref.stripe,
37
38
  draggable = _ref.draggable,
39
+ virtual = _ref.virtual,
38
40
  disabled = _ref.disabled,
39
41
  insertType = _ref.insertType,
40
42
  emptyBtnText = _ref.emptyBtnText,
@@ -327,62 +329,38 @@ var ProEditTable = function ProEditTable(_ref, ref) {
327
329
  rowSelection: renderRowSelection()
328
330
  });
329
331
  } : summary;
332
+ var TableComponent = draggable ? _RcTable.DraggableTable : virtual ? _RcTable.VirtualTable : _RcTable.BaseTable;
330
333
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
331
334
  children: [(0, _jsxRuntime.jsxs)(_antd.ConfigProvider, {
332
335
  renderEmpty: (value === null || value === void 0 ? void 0 : value.length) ? undefined : empty,
333
- children: [(0, _jsxRuntime.jsxs)(_components.DndWrapper, {
334
- value: value,
335
- onChange: onChange,
336
- onDrag: onDrag,
337
- disabled: disabled,
338
- draggable: draggable,
339
- children: [headerRender ? (0, _jsxRuntime.jsx)("div", {
340
- className: "pro-edit-table-header",
341
- children: typeof headerRender === 'function' ? headerRender() : headerRender
342
- }) : null, (0, _jsxRuntime.jsx)(_antd.Table, (0, _objectSpread2.default)((0, _objectSpread2.default)({
343
- ref: tableRef,
336
+ children: [(0, _jsxRuntime.jsx)(TableComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps), {}, {
337
+ draggableProps: {
338
+ onChange: onChange,
339
+ onDrag: onDrag,
340
+ draggable: draggable
341
+ },
342
+ tableProps: {
343
+ value: value,
344
+ headerRender: headerRender,
345
+ tableRef: tableRef,
344
346
  className: _className,
345
- dataSource: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value : undefined,
346
347
  columns: _columns,
347
- rowSelection: renderRowSelection(),
348
+ renderRowSelection: renderRowSelection,
348
349
  rowClassName: _rowClassName,
349
- components: draggable ? {
350
- body: {
351
- row: _components.Row
352
- }
353
- } : undefined,
354
- onRow: function onRow() {
355
- return {
356
- disabled: disabled || virtualKey && !!editingKeys.length,
357
- 'data-hide': isHideCheckBox,
358
- onClick: function onClick() {},
359
- rowDraggable: rowDraggable
360
- };
361
- }
362
- }, resetProps), {}, {
363
- pagination: pagination ? (0, _objectSpread2.default)({
364
- current: page.pageNum,
365
- pageSize: page.pageSize,
366
- showSizeChanger: false,
367
- showQuickJumper: true,
368
- total: value === null || value === void 0 ? void 0 : value.length,
369
- showTotal: function showTotal(total) {
370
- var _locale$ProEditTable;
371
- if (!total) return;
372
- return (0, _locale.formatMessage)(_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProEditTable = _locale.default.ProEditTable) === null || _locale$ProEditTable === void 0 ? void 0 : _locale$ProEditTable.total, {
373
- total: total
374
- });
375
- },
376
- onChange: handlePageChange
377
- }, pagination) : false,
378
- rowKey: "rowKey",
379
- scroll: {
380
- x: scroll === null || scroll === void 0 ? void 0 : scroll.x,
381
- y: (value === null || value === void 0 ? void 0 : value.length) ? scroll === null || scroll === void 0 ? void 0 : scroll.y : undefined
382
- },
383
- summary: _summary
384
- }))]
385
- }), !isView && (value === null || value === void 0 ? void 0 : value.length) ? toolbarSticky ? (0, _jsxRuntime.jsx)(_antd.Affix, (0, _objectSpread2.default)((0, _objectSpread2.default)({
350
+ disabled: disabled,
351
+ virtualKey: virtualKey,
352
+ editingKeys: editingKeys,
353
+ isHideCheckBox: isHideCheckBox,
354
+ rowDraggable: rowDraggable,
355
+ pagination: pagination,
356
+ scroll: scroll,
357
+ summary: _summary,
358
+ page: page,
359
+ formatMessage: _locale.formatMessage,
360
+ locale: _locale.default,
361
+ handlePageChange: handlePageChange
362
+ }
363
+ })), !isView && (value === null || value === void 0 ? void 0 : value.length) ? toolbarSticky ? (0, _jsxRuntime.jsx)(_antd.Affix, (0, _objectSpread2.default)((0, _objectSpread2.default)({
386
364
  ref: affixRef
387
365
  }, _toolbarSticky), {}, {
388
366
  children: (0, _jsxRuntime.jsx)("div", {
@@ -415,6 +393,7 @@ ForwardProEditTable.defaultProps = {
415
393
  toolbarProps: [],
416
394
  disabled: false,
417
395
  draggable: false,
396
+ virtual: false,
418
397
  stripe: true,
419
398
  emptyBtnText: _locale.default.ProEditTable.clickAdd,
420
399
  onlyOneLineMsg: _locale.default.ProEditTable.onlyOneLineMsg,
@@ -192,6 +192,11 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
192
192
  * @default -
193
193
  */
194
194
  draggable?: boolean;
195
+ /**
196
+ * @description 是否开启虚拟列表(scroll,x,y必须为固定值)
197
+ * @default -
198
+ */
199
+ virtual?: boolean;
195
200
  /**
196
201
  * @description 空列表状态时,自定义添加按钮
197
202
  * @default 点击添加
@@ -125,7 +125,7 @@ var getActionColumn = function getActionColumn(config) {
125
125
  case 20:
126
126
  result = _context.sent;
127
127
  case 21:
128
- if (result && type !== 'custom') {
128
+ if (result !== false && type !== 'custom') {
129
129
  _config.actions[type]((0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, {
130
130
  rowName: [].concat((0, _toConsumableArray2.default)(name), [index]),
131
131
  virtualRowName: rowName,
@@ -221,7 +221,9 @@ var ProCascader = function ProCascader(props) {
221
221
  // 如果没有在当前层级的选项中找到匹配的 value,返回 null
222
222
  return null;
223
223
  };
224
- var _selectedOptions = findSelectedOptions(service ? serviceData : realDataSource, addressValue);
224
+ var _selectedOptions = (0, _react.useMemo)(function () {
225
+ return findSelectedOptions(service ? serviceData : realDataSource, addressValue);
226
+ }, [service, serviceData, realDataSource, addressValue]);
225
227
  var handleAddressChange = function handleAddressChange(e) {
226
228
  var cascaderValue = value === null || value === void 0 ? void 0 : value.slice(0, realLevel);
227
229
  if (onChange) {
@@ -341,7 +341,7 @@ var ProSelect = exports.ProSelect = function ProSelect(props, ref) {
341
341
  title: OptionRender(item),
342
342
  children: OptionRender(item)
343
343
  }) : (0, _jsxRuntime.jsx)("span", {
344
- title: "".concat(item[code], "-").concat(item[label]),
344
+ title: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label],
345
345
  children: selectProps.showCodeName ? "".concat(item[code], "-").concat(item[label]) : item[label]
346
346
  })
347
347
  }, item[code])
@@ -72,11 +72,12 @@ export interface PaginationProps {
72
72
  pageNum: number;
73
73
  pageSize: number;
74
74
  }
75
+ type RowSelectionTypeWithPick = Pick<TableProps<any>, 'rowSelection'>['rowSelection'];
75
76
  export interface RequestOptions<T, R> {
76
77
  form?: FormInstance;
77
78
  isResetQuery?: boolean;
78
79
  rowKey?: string | GetRowKey<R>;
79
- rowSelection?: boolean;
80
+ rowSelection?: boolean | RowSelectionTypeWithPick;
80
81
  rowSelectType?: RowSelectionType;
81
82
  rowSelections?: boolean;
82
83
  extraParams?: Partial<T>;
@@ -11,7 +11,7 @@ declare function useAntdTable<I, R extends Record<string, any>, S extends Servic
11
11
  selectedRowKeys: Key[];
12
12
  onChange(rowKeys: Key[], rows: any[]): void;
13
13
  onSelectAll: (selected: boolean) => void;
14
- getCheckboxProps: () => {
14
+ getCheckboxProps: (record?: any) => {
15
15
  className: string;
16
16
  };
17
17
  selections: boolean | ({
@@ -57,7 +57,7 @@ declare function useAntdTable<I, R extends Record<string, any>, S extends Servic
57
57
  selectedRowKeys: Key[];
58
58
  onChange(rowKeys: Key[], rows: any[]): void;
59
59
  onSelectAll: (selected: boolean) => void;
60
- getCheckboxProps: () => {
60
+ getCheckboxProps: (record?: any) => {
61
61
  className: string;
62
62
  };
63
63
  selections: boolean | ({
@@ -320,7 +320,7 @@ function useAntdTable(service, options, useRequestOptions) {
320
320
  }));
321
321
  }
322
322
  }, [extraParams]);
323
- var rowSelection = {
323
+ var _rowSelection = {
324
324
  fixed: true,
325
325
  type: rowSelectType,
326
326
  columnWidth: rowSelections ? 64 : undefined,
@@ -362,7 +362,7 @@ function useAntdTable(service, options, useRequestOptions) {
362
362
  });
363
363
  }
364
364
  },
365
- getCheckboxProps: function getCheckboxProps() {
365
+ getCheckboxProps: function getCheckboxProps(record) {
366
366
  return {
367
367
  className: allSelected && rowSelections ? 'checkbox-disabled' : ''
368
368
  };
@@ -431,6 +431,20 @@ function useAntdTable(service, options, useRequestOptions) {
431
431
  }()
432
432
  }] : false
433
433
  };
434
+ var rowSelection = (0, _lodash.isObject)(returnRowSelection) ? (0, _lodash.merge)(_rowSelection, returnRowSelection) : _rowSelection;
435
+ if ((0, _lodash.isObject)(returnRowSelection) && !(0, _lodash.isEqual)(rowSelection, _rowSelection)) {
436
+ // getCheckboxProps需要特殊兼容原有的逻辑,特殊处理
437
+ var isHasGetCheckboxProps = Reflect.ownKeys(returnRowSelection).includes('getCheckboxProps');
438
+ if (isHasGetCheckboxProps) {
439
+ (0, _lodash.set)(rowSelection, 'getCheckboxProps', function (record) {
440
+ var _rowSelection$getChec;
441
+ var passReturnObjects = (_rowSelection$getChec = rowSelection.getCheckboxProps(record)) !== null && _rowSelection$getChec !== void 0 ? _rowSelection$getChec : {};
442
+ return (0, _objectSpread2.default)({
443
+ className: allSelected && rowSelections ? 'checkbox-disabled' : ''
444
+ }, passReturnObjects);
445
+ });
446
+ }
447
+ }
434
448
  var selectedTip = allSelected || selectedRowKeys.length ? (0, _locale.formatMessage)(_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProTable5 = _locale.default.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
435
449
  selectedNum: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
436
450
  }) : null;