@dtjoy/dt-design 1.0.6 → 1.0.7
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/esm/_util/easings.js +9 -0
- package/esm/_util/extendsObject.js +17 -0
- package/esm/_util/getScroll.js +32 -0
- package/esm/_util/hooks/index.js +4 -1
- package/esm/_util/hooks/useForceUpdate.js +6 -0
- package/esm/_util/hooks/useProxyImperativeHandle.js +31 -0
- package/esm/_util/hooks/useSyncState.js +20 -0
- package/esm/_util/scrollTo.js +38 -0
- package/esm/_util/warning.js +5 -5
- package/esm/blockHeader/index.js +13 -15
- package/esm/blockHeader/style/index.less +143 -143
- package/esm/button/index.js +2 -2
- package/esm/collapsible/index.js +53 -55
- package/esm/collapsibleActionItems/index.js +2 -2
- package/esm/flex/index.js +1 -1
- package/esm/flex/style/index.less +76 -76
- package/esm/flex/utils.js +1 -1
- package/esm/formList/index.js +13 -11
- package/esm/formList/style/index.less +45 -45
- package/esm/index.js +3 -1
- package/esm/overflowList/index.js +4 -3
- package/esm/resize/index.js +1 -1
- package/esm/resizeObserver/index.js +3 -2
- package/esm/splitter/Panel.js +3 -3
- package/esm/splitter/SplitBar.js +8 -7
- package/esm/splitter/Splitter.js +5 -4
- package/esm/splitter/hooks/useItems.js +2 -2
- package/esm/splitter/hooks/useResize.js +5 -5
- package/esm/statusTag/index.js +8 -8
- package/esm/style/index.less +1 -1
- package/esm/style/themes/index.less +2 -2
- package/esm/style/themes/variable.less +4 -0
- package/esm/table/InternalTable.js +429 -0
- package/esm/table/RcTable/VirtualTable.js +9 -0
- package/esm/table/RcTable/index.js +9 -0
- package/esm/table/Table.js +28 -0
- package/esm/table/TableMeasureRowContext.js +3 -0
- package/esm/table/hooks/useContainerWidth.js +14 -0
- package/esm/table/index.js +2 -0
- package/esm/table/interface.js +4 -0
- package/esm/table/style/bordered.less +141 -0
- package/esm/table/style/fixed.less +88 -0
- package/esm/table/style/index.js +2 -0
- package/esm/table/style/index.less +150 -0
- package/esm/table/style/selection.less +90 -0
- package/esm/table/style/sticky.less +55 -0
- package/esm/table/style/virtual.less +65 -0
- package/esm/table/util.js +33 -0
- package/lib/_util/easings.js +15 -0
- package/lib/_util/extendsObject.js +20 -0
- package/lib/_util/getScroll.js +39 -0
- package/lib/_util/hooks/index.js +33 -0
- package/lib/_util/hooks/useForceUpdate.js +12 -0
- package/lib/_util/hooks/useProxyImperativeHandle.js +40 -0
- package/lib/_util/hooks/useSyncState.js +19 -0
- package/lib/_util/scrollTo.js +44 -0
- package/lib/_util/warning.js +7 -8
- package/lib/blockHeader/index.js +13 -12
- package/lib/blockHeader/style/index.less +143 -143
- package/lib/button/index.js +2 -2
- package/lib/collapsible/index.js +49 -49
- package/lib/collapsibleActionItems/index.js +2 -2
- package/lib/flex/index.js +2 -2
- package/lib/flex/style/index.less +76 -76
- package/lib/flex/utils.js +2 -2
- package/lib/formList/index.js +10 -10
- package/lib/formList/style/index.less +45 -45
- package/lib/index.js +21 -2
- package/lib/overflowList/index.js +4 -3
- package/lib/resize/index.js +1 -1
- package/lib/resizeObserver/index.js +3 -2
- package/lib/splitter/Panel.js +3 -3
- package/lib/splitter/SplitBar.js +8 -7
- package/lib/splitter/Splitter.js +5 -4
- package/lib/splitter/hooks/useItems.js +2 -2
- package/lib/splitter/hooks/useResize.js +5 -5
- package/lib/statusTag/index.js +8 -8
- package/lib/style/index.less +1 -1
- package/lib/style/themes/index.less +2 -2
- package/lib/style/themes/variable.less +4 -0
- package/lib/table/InternalTable.js +395 -0
- package/lib/table/RcTable/VirtualTable.js +17 -0
- package/lib/table/RcTable/index.js +17 -0
- package/lib/table/Table.js +37 -0
- package/lib/{_util/zindexContext.js → table/TableMeasureRowContext.js} +2 -5
- package/lib/table/hooks/useContainerWidth.js +20 -0
- package/lib/table/index.js +9 -0
- package/lib/table/interface.js +8 -0
- package/lib/table/style/bordered.less +141 -0
- package/lib/table/style/fixed.less +88 -0
- package/lib/table/style/index.js +4 -0
- package/lib/table/style/index.less +150 -0
- package/lib/table/style/selection.less +90 -0
- package/lib/table/style/sticky.less +55 -0
- package/lib/table/style/virtual.less +65 -0
- package/lib/table/util.js +44 -0
- package/package.json +82 -66
- package/esm/_util/convertToTooltipProps.d.ts +0 -4
- package/esm/_util/convertToTooltipProps.js +0 -15
- package/esm/_util/gapSize.d.ts +0 -3
- package/esm/_util/hooks/index.d.ts +0 -1
- package/esm/_util/hooks/useOrientation.d.ts +0 -2
- package/esm/_util/hooks/useZIndex.d.ts +0 -8
- package/esm/_util/hooks/useZIndex.js +0 -51
- package/esm/_util/index.d.ts +0 -3
- package/esm/_util/isNonNullable.d.ts +0 -2
- package/esm/_util/type.d.ts +0 -52
- package/esm/_util/warning.d.ts +0 -31
- package/esm/_util/zindexContext.d.ts +0 -3
- package/esm/_util/zindexContext.js +0 -6
- package/esm/blockHeader/index.d.ts +0 -48
- package/esm/blockHeader/style/index.d.ts +0 -2
- package/esm/button/index.d.ts +0 -10
- package/esm/button/style/index.d.ts +0 -2
- package/esm/collapsible/index.d.ts +0 -97
- package/esm/collapsible/style/index.d.ts +0 -1
- package/esm/collapsibleActionItems/index.d.ts +0 -24
- package/esm/collapsibleActionItems/style/index.d.ts +0 -2
- package/esm/flex/index.d.ts +0 -7
- package/esm/flex/interface.d.ts +0 -16
- package/esm/flex/style/index.d.ts +0 -2
- package/esm/flex/utils.d.ts +0 -7
- package/esm/formList/index.d.ts +0 -77
- package/esm/formList/style/index.d.ts +0 -2
- package/esm/index.d.ts +0 -14
- package/esm/overflowList/index.d.ts +0 -39
- package/esm/overflowList/style/index.d.ts +0 -2
- package/esm/resize/index.d.ts +0 -8
- package/esm/resizeObserver/index.d.ts +0 -45
- package/esm/splitter/Panel.d.ts +0 -7
- package/esm/splitter/SplitBar.d.ts +0 -24
- package/esm/splitter/Splitter.d.ts +0 -5
- package/esm/splitter/hooks/sizeUtil.d.ts +0 -3
- package/esm/splitter/hooks/useItems.d.ts +0 -14
- package/esm/splitter/hooks/useResizable.d.ts +0 -10
- package/esm/splitter/hooks/useResize.d.ts +0 -6
- package/esm/splitter/hooks/useSizes.d.ts +0 -4
- package/esm/splitter/index.d.ts +0 -8
- package/esm/splitter/interface.d.ts +0 -69
- package/esm/splitter/style/index.d.ts +0 -2
- package/esm/statusTag/index.d.ts +0 -28
- package/esm/statusTag/style/index.d.ts +0 -2
- package/esm/style/index.d.ts +0 -1
- package/lib/_util/convertToTooltipProps.d.ts +0 -4
- package/lib/_util/convertToTooltipProps.js +0 -21
- package/lib/_util/gapSize.d.ts +0 -3
- package/lib/_util/hooks/index.d.ts +0 -1
- package/lib/_util/hooks/useOrientation.d.ts +0 -2
- package/lib/_util/hooks/useZIndex.d.ts +0 -8
- package/lib/_util/hooks/useZIndex.js +0 -59
- package/lib/_util/index.d.ts +0 -3
- package/lib/_util/isNonNullable.d.ts +0 -2
- package/lib/_util/type.d.ts +0 -52
- package/lib/_util/warning.d.ts +0 -31
- package/lib/_util/zindexContext.d.ts +0 -3
- package/lib/blockHeader/index.d.ts +0 -48
- package/lib/blockHeader/style/index.d.ts +0 -2
- package/lib/button/index.d.ts +0 -10
- package/lib/button/style/index.d.ts +0 -2
- package/lib/collapsible/index.d.ts +0 -97
- package/lib/collapsible/style/index.d.ts +0 -1
- package/lib/collapsibleActionItems/index.d.ts +0 -24
- package/lib/collapsibleActionItems/style/index.d.ts +0 -2
- package/lib/flex/index.d.ts +0 -7
- package/lib/flex/interface.d.ts +0 -16
- package/lib/flex/style/index.d.ts +0 -2
- package/lib/flex/utils.d.ts +0 -7
- package/lib/formList/index.d.ts +0 -77
- package/lib/formList/style/index.d.ts +0 -2
- package/lib/index.d.ts +0 -14
- package/lib/overflowList/index.d.ts +0 -39
- package/lib/overflowList/style/index.d.ts +0 -2
- package/lib/resize/index.d.ts +0 -8
- package/lib/resizeObserver/index.d.ts +0 -45
- package/lib/splitter/Panel.d.ts +0 -7
- package/lib/splitter/SplitBar.d.ts +0 -24
- package/lib/splitter/Splitter.d.ts +0 -5
- package/lib/splitter/hooks/sizeUtil.d.ts +0 -3
- package/lib/splitter/hooks/useItems.d.ts +0 -14
- package/lib/splitter/hooks/useResizable.d.ts +0 -10
- package/lib/splitter/hooks/useResize.d.ts +0 -6
- package/lib/splitter/hooks/useSizes.d.ts +0 -4
- package/lib/splitter/index.d.ts +0 -8
- package/lib/splitter/interface.d.ts +0 -69
- package/lib/splitter/style/index.d.ts +0 -2
- package/lib/statusTag/index.d.ts +0 -28
- package/lib/statusTag/style/index.d.ts +0 -2
- package/lib/style/index.d.ts +0 -1
package/lib/splitter/SplitBar.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _icons = require("@ant-design/icons");
|
|
9
|
-
var
|
|
9
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
10
|
var _useEvent = _interopRequireDefault(require("rc-util/lib/hooks/useEvent"));
|
|
11
11
|
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -133,6 +133,7 @@ const SplitBar = props => {
|
|
|
133
133
|
touchend: handleTouchEnd
|
|
134
134
|
};
|
|
135
135
|
for (const [event, handler] of Object.entries(eventHandlerMap)) {
|
|
136
|
+
// eslint-disable-next-line react-web-api/no-leaked-event-listener
|
|
136
137
|
window.addEventListener(event, handler);
|
|
137
138
|
}
|
|
138
139
|
return () => {
|
|
@@ -153,27 +154,27 @@ const SplitBar = props => {
|
|
|
153
154
|
"aria-valuemin": getValidNumber(ariaMin),
|
|
154
155
|
"aria-valuemax": getValidNumber(ariaMax)
|
|
155
156
|
}, lazy && /*#__PURE__*/_react.default.createElement("div", {
|
|
156
|
-
className: (0,
|
|
157
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-preview`, {
|
|
157
158
|
[`${splitBarPrefixCls}-preview-active`]: !!constrainedOffset
|
|
158
159
|
}),
|
|
159
160
|
style: transformStyle
|
|
160
161
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
-
className: (0,
|
|
162
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-dragger`, {
|
|
162
163
|
[`${splitBarPrefixCls}-dragger-disabled`]: !resizable,
|
|
163
164
|
[`${splitBarPrefixCls}-dragger-active`]: active
|
|
164
165
|
}),
|
|
165
166
|
onMouseDown: onMouseDown,
|
|
166
167
|
onTouchStart: onTouchStart
|
|
167
168
|
}), startCollapsible && /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
-
className: (0,
|
|
169
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-collapse-bar`, `${splitBarPrefixCls}-collapse-bar-start`, getVisibilityClass(showStartCollapsibleIcon)),
|
|
169
170
|
onClick: () => onCollapse(index, 'start')
|
|
170
171
|
}, /*#__PURE__*/_react.default.createElement(StartIcon, {
|
|
171
|
-
className: (0,
|
|
172
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-collapse-icon`, `${splitBarPrefixCls}-collapse-start`)
|
|
172
173
|
})), endCollapsible && /*#__PURE__*/_react.default.createElement("div", {
|
|
173
|
-
className: (0,
|
|
174
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-collapse-bar`, `${splitBarPrefixCls}-collapse-bar-end`, getVisibilityClass(showEndCollapsibleIcon)),
|
|
174
175
|
onClick: () => onCollapse(index, 'end')
|
|
175
176
|
}, /*#__PURE__*/_react.default.createElement(EndIcon, {
|
|
176
|
-
className: (0,
|
|
177
|
+
className: (0, _clsx.default)(`${splitBarPrefixCls}-collapse-icon`, `${splitBarPrefixCls}-collapse-end`)
|
|
177
178
|
})));
|
|
178
179
|
};
|
|
179
180
|
var _default = exports.default = SplitBar;
|
package/lib/splitter/Splitter.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _configProvider = require("antd/es/config-provider");
|
|
9
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
9
|
var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
|
|
11
10
|
var _useEvent = _interopRequireDefault(require("rc-util/es/hooks/useEvent"));
|
|
12
11
|
var _warning = _interopRequireDefault(require("rc-util/es/warning"));
|
|
@@ -17,6 +16,8 @@ var _useSizes = _interopRequireDefault(require("./hooks/useSizes"));
|
|
|
17
16
|
var _Panel = require("./Panel");
|
|
18
17
|
var _SplitBar = _interopRequireDefault(require("./SplitBar"));
|
|
19
18
|
require("./style/index.less");
|
|
19
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
20
|
+
var _lodashEs = require("lodash-es");
|
|
20
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -97,7 +98,7 @@ const Splitter = props => {
|
|
|
97
98
|
const collapsed = nextSizes.map(size => Math.abs(size) < Number.EPSILON);
|
|
98
99
|
props.onCollapse?.(collapsed, nextSizes);
|
|
99
100
|
});
|
|
100
|
-
const containerClassName = (0,
|
|
101
|
+
const containerClassName = (0, _clsx.default)(prefixCls, className, `${prefixCls}-${layout}`, {
|
|
101
102
|
[`${prefixCls}-rtl`]: isRTL
|
|
102
103
|
}, rootClassName);
|
|
103
104
|
const maskCls = `${prefixCls}-mask`;
|
|
@@ -159,11 +160,11 @@ const Splitter = props => {
|
|
|
159
160
|
});
|
|
160
161
|
}
|
|
161
162
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
162
|
-
key: `split-panel-${
|
|
163
|
+
key: `split-panel-${(0, _lodashEs.uniqueId)()}`
|
|
163
164
|
}, panel, splitBar);
|
|
164
165
|
}), typeof movingIndex === 'number' && /*#__PURE__*/_react.default.createElement("div", {
|
|
165
166
|
"aria-hidden": true,
|
|
166
|
-
className: (0,
|
|
167
|
+
className: (0, _clsx.default)(maskCls, `${maskCls}-${layout}`)
|
|
167
168
|
})));
|
|
168
169
|
};
|
|
169
170
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -24,8 +24,8 @@ function getCollapsible(collapsible) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
/**
|
|
28
|
-
* Convert `children` into `items`.
|
|
27
|
+
/**
|
|
28
|
+
* Convert `children` into `items`.
|
|
29
29
|
*/
|
|
30
30
|
function useItems(children) {
|
|
31
31
|
const items = React.useMemo(() => (0, _toArray.default)(children).filter(item => /*#__PURE__*/React.isValidElement(item)).map(node => {
|
|
@@ -8,8 +8,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _useSizes = require("./useSizes");
|
|
9
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
10
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
-
/**
|
|
12
|
-
* Handle user drag resize logic.
|
|
11
|
+
/**
|
|
12
|
+
* Handle user drag resize logic.
|
|
13
13
|
*/
|
|
14
14
|
function useResize(items, resizableInfos, percentSizes, containerSize, updateSizes, isRTL) {
|
|
15
15
|
const limitSizes = items.map(item => [item.min, item.max]);
|
|
@@ -28,9 +28,9 @@ function useResize(items, resizableInfos, percentSizes, containerSize, updateSiz
|
|
|
28
28
|
const [cacheSizes, setCacheSizes] = React.useState([]);
|
|
29
29
|
const cacheCollapsedSize = React.useRef([]);
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* When start drag, check the direct is `start` or `end`.
|
|
33
|
-
* This will handle when 2 splitter bar are in the same position.
|
|
31
|
+
/**
|
|
32
|
+
* When start drag, check the direct is `start` or `end`.
|
|
33
|
+
* This will handle when 2 splitter bar are in the same position.
|
|
34
34
|
*/
|
|
35
35
|
const [movingIndex, setMovingIndex] = React.useState(null);
|
|
36
36
|
const getPxSizes = () => percentSizes.map(ptg2px);
|
package/lib/statusTag/index.js
CHANGED
|
@@ -8,8 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _icons = require("@ant-design/icons");
|
|
9
9
|
var _antd = require("antd");
|
|
10
10
|
var _configProvider = require("antd/es/config-provider");
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
11
|
require("./style");
|
|
12
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -41,10 +41,10 @@ function calculateTransparentColor(color, opacity = DEFAULT_OPACITY) {
|
|
|
41
41
|
if (hex.length === 3) {
|
|
42
42
|
hex = hex.split('').map(char => char + char).join('');
|
|
43
43
|
}
|
|
44
|
-
if (!/^[0-9A-
|
|
45
|
-
const r = parseInt(hex.substring(0, 2), 16);
|
|
46
|
-
const g = parseInt(hex.substring(2, 4), 16);
|
|
47
|
-
const b = parseInt(hex.substring(4, 6), 16);
|
|
44
|
+
if (!/^[0-9A-F]{6}$/i.test(hex)) return 'rgba(0, 0, 0, 0.15)';
|
|
45
|
+
const r = Number.parseInt(hex.substring(0, 2), 16);
|
|
46
|
+
const g = Number.parseInt(hex.substring(2, 4), 16);
|
|
47
|
+
const b = Number.parseInt(hex.substring(4, 6), 16);
|
|
48
48
|
return `rgba(${r}, ${g}, ${b}, ${opacity})`;
|
|
49
49
|
}
|
|
50
50
|
const StatusTag = /*#__PURE__*/_react.default.memo(props => {
|
|
@@ -62,7 +62,7 @@ const StatusTag = /*#__PURE__*/_react.default.memo(props => {
|
|
|
62
62
|
} = props;
|
|
63
63
|
const prefixCls = (0, _configProvider.globalConfig)().getPrefixCls('status-tag');
|
|
64
64
|
const showDefaultIcon = (0, _react.useMemo)(() => icon === undefined, [icon]);
|
|
65
|
-
const containerClasses = (0, _react.useMemo)(() => (0,
|
|
65
|
+
const containerClasses = (0, _react.useMemo)(() => (0, _clsx.default)(prefixCls, className, {
|
|
66
66
|
[`${prefixCls}--border`]: type === 'outline',
|
|
67
67
|
[`${prefixCls}--fill`]: type === 'fill',
|
|
68
68
|
[`${prefixCls}--rounded`]: rounded,
|
|
@@ -78,7 +78,7 @@ const StatusTag = /*#__PURE__*/_react.default.memo(props => {
|
|
|
78
78
|
const iconStyleConfig = (0, _react.useMemo)(() => {
|
|
79
79
|
if (isPresetColor(color)) {
|
|
80
80
|
return {
|
|
81
|
-
className: (0,
|
|
81
|
+
className: (0, _clsx.default)('anticon', {
|
|
82
82
|
[`${prefixCls}__${color}--icon`]: true,
|
|
83
83
|
[`${prefixCls}__icon--default`]: !icon,
|
|
84
84
|
[`${prefixCls}__${color}--iconBg`]: !icon
|
|
@@ -87,7 +87,7 @@ const StatusTag = /*#__PURE__*/_react.default.memo(props => {
|
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
return {
|
|
90
|
-
className: (0,
|
|
90
|
+
className: (0, _clsx.default)('anticon', {
|
|
91
91
|
[`${prefixCls}__icon--default`]: !icon
|
|
92
92
|
}),
|
|
93
93
|
style: {
|
package/lib/style/index.less
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "./themes/index.less";
|
|
1
|
+
@import "./themes/index.less";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@import '~antd/es/style/themes/default.less';
|
|
2
|
-
@import './variable.less';
|
|
1
|
+
@import '~antd/es/style/themes/default.less';
|
|
2
|
+
@import './variable.less';
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _table = require("@rc-component/table");
|
|
9
|
+
var _useColumns = require("@rc-component/table/lib/hooks/useColumns");
|
|
10
|
+
var _antd = require("antd");
|
|
11
|
+
var _configProvider = require("antd/lib/config-provider");
|
|
12
|
+
var _defaultRenderEmpty = _interopRequireDefault(require("antd/lib/config-provider/defaultRenderEmpty"));
|
|
13
|
+
var _SizeContext = _interopRequireDefault(require("antd/lib/config-provider/SizeContext"));
|
|
14
|
+
var _useBreakpoint = _interopRequireDefault(require("antd/lib/grid/hooks/useBreakpoint"));
|
|
15
|
+
var _en_US = _interopRequireDefault(require("antd/lib/locale/en_US"));
|
|
16
|
+
var _ExpandIcon = _interopRequireDefault(require("antd/lib/table/ExpandIcon"));
|
|
17
|
+
var _useFilter = _interopRequireWildcard(require("antd/lib/table/hooks/useFilter"));
|
|
18
|
+
var _useLazyKVMap = _interopRequireDefault(require("antd/lib/table/hooks/useLazyKVMap"));
|
|
19
|
+
var _usePagination = _interopRequireWildcard(require("antd/lib/table/hooks/usePagination"));
|
|
20
|
+
var _useSelection = _interopRequireDefault(require("antd/lib/table/hooks/useSelection"));
|
|
21
|
+
var _useSorter = _interopRequireWildcard(require("antd/lib/table/hooks/useSorter"));
|
|
22
|
+
var _useTitleColumns = _interopRequireDefault(require("antd/lib/table/hooks/useTitleColumns"));
|
|
23
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
24
|
+
var _lodashEs = require("lodash-es");
|
|
25
|
+
require("./style");
|
|
26
|
+
var _hooks = require("../_util/hooks");
|
|
27
|
+
var _scrollTo = _interopRequireDefault(require("../_util/scrollTo"));
|
|
28
|
+
var _warning = require("../_util/warning");
|
|
29
|
+
var _useContainerWidth = _interopRequireDefault(require("./hooks/useContainerWidth"));
|
|
30
|
+
var _RcTable = _interopRequireDefault(require("./RcTable"));
|
|
31
|
+
var _VirtualTable = _interopRequireDefault(require("./RcTable/VirtualTable"));
|
|
32
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
33
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
34
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
36
|
+
const EMPTY_LIST = [];
|
|
37
|
+
const InternalTable = (props, ref) => {
|
|
38
|
+
const {
|
|
39
|
+
prefixCls: customizePrefixCls,
|
|
40
|
+
className,
|
|
41
|
+
style,
|
|
42
|
+
size: customizeSize,
|
|
43
|
+
bordered,
|
|
44
|
+
dropdownPrefixCls: customizeDropdownPrefixCls,
|
|
45
|
+
dataSource,
|
|
46
|
+
pagination,
|
|
47
|
+
rowSelection,
|
|
48
|
+
rowKey = 'key',
|
|
49
|
+
rowClassName,
|
|
50
|
+
columns,
|
|
51
|
+
children,
|
|
52
|
+
childrenColumnName: legacyChildrenColumnName,
|
|
53
|
+
onChange,
|
|
54
|
+
getPopupContainer,
|
|
55
|
+
loading,
|
|
56
|
+
expandIcon,
|
|
57
|
+
expandable,
|
|
58
|
+
expandedRowRender,
|
|
59
|
+
expandIconColumnIndex,
|
|
60
|
+
indentSize,
|
|
61
|
+
scroll,
|
|
62
|
+
sortDirections,
|
|
63
|
+
locale,
|
|
64
|
+
showSorterTooltip = true,
|
|
65
|
+
virtual
|
|
66
|
+
} = props;
|
|
67
|
+
const warning = (0, _warning.devUseWarning)('Table');
|
|
68
|
+
warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.');
|
|
69
|
+
[['filterDropdownVisible', 'filterDropdownOpen'], ['onFilterDropdownVisibleChange', 'onFilterDropdownOpenChange']].forEach(([deprecatedName, newName]) => {
|
|
70
|
+
warning(!(deprecatedName in props), 'usage', `\`${deprecatedName}\` is deprecated which will be removed in next major version.Please use \`${newName}\` instead. `);
|
|
71
|
+
});
|
|
72
|
+
const baseColumns = _react.default.useMemo(() => columns || (0, _useColumns.convertChildrenToColumns)(children), [columns, children]);
|
|
73
|
+
const needResponsive = _react.default.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);
|
|
74
|
+
const screens = (0, _useBreakpoint.default)(needResponsive);
|
|
75
|
+
const mergedColumns = _react.default.useMemo(() => {
|
|
76
|
+
const matched = new Set(Object.keys(screens).filter(m => screens[m]));
|
|
77
|
+
return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));
|
|
78
|
+
}, [baseColumns, screens]);
|
|
79
|
+
const tableProps = (0, _lodashEs.omit)(props, ['className', 'style', 'columns']);
|
|
80
|
+
const size = _react.default.useContext(_SizeContext.default);
|
|
81
|
+
const {
|
|
82
|
+
locale: contextLocale = _en_US.default,
|
|
83
|
+
renderEmpty,
|
|
84
|
+
direction
|
|
85
|
+
} = _react.default.useContext(_configProvider.ConfigContext);
|
|
86
|
+
const mergedSize = customizeSize || size;
|
|
87
|
+
const tableLocale = {
|
|
88
|
+
...contextLocale.Table,
|
|
89
|
+
...locale
|
|
90
|
+
};
|
|
91
|
+
const rawData = dataSource || EMPTY_LIST;
|
|
92
|
+
const {
|
|
93
|
+
getPrefixCls
|
|
94
|
+
} = _react.default.useContext(_configProvider.ConfigContext);
|
|
95
|
+
const prefixCls = getPrefixCls('table', customizePrefixCls);
|
|
96
|
+
const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);
|
|
97
|
+
const mergedExpandable = {
|
|
98
|
+
childrenColumnName: legacyChildrenColumnName,
|
|
99
|
+
expandIconColumnIndex,
|
|
100
|
+
...expandable
|
|
101
|
+
};
|
|
102
|
+
const {
|
|
103
|
+
childrenColumnName = 'children'
|
|
104
|
+
} = mergedExpandable;
|
|
105
|
+
const expandType = _react.default.useMemo(() => {
|
|
106
|
+
if (rawData.some(item => item?.[childrenColumnName])) {
|
|
107
|
+
return 'nest';
|
|
108
|
+
}
|
|
109
|
+
if (expandedRowRender || expandable && expandable.expandedRowRender) {
|
|
110
|
+
return 'row';
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}, [rawData]);
|
|
114
|
+
const internalRefs = {
|
|
115
|
+
body: _react.default.useRef(null)
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
// ============================ Width =============================
|
|
119
|
+
const getContainerWidth = (0, _useContainerWidth.default)(prefixCls);
|
|
120
|
+
|
|
121
|
+
// ============================= Refs =============================
|
|
122
|
+
const rootRef = _react.default.useRef(null);
|
|
123
|
+
const tblRef = _react.default.useRef(null);
|
|
124
|
+
(0, _hooks.useProxyImperativeHandle)(ref, () => ({
|
|
125
|
+
...tblRef.current,
|
|
126
|
+
nativeElement: rootRef.current
|
|
127
|
+
}));
|
|
128
|
+
|
|
129
|
+
// ========================== Render ==========================
|
|
130
|
+
const TableComponent = virtual ? _VirtualTable.default : _RcTable.default;
|
|
131
|
+
|
|
132
|
+
// ============================ RowKey ============================
|
|
133
|
+
const getRowKey = _react.default.useMemo(() => {
|
|
134
|
+
if (typeof rowKey === 'function') {
|
|
135
|
+
return rowKey;
|
|
136
|
+
}
|
|
137
|
+
return record => record?.[rowKey];
|
|
138
|
+
}, [rowKey]);
|
|
139
|
+
const [getRecordByKey] = (0, _useLazyKVMap.default)(rawData, childrenColumnName, getRowKey);
|
|
140
|
+
|
|
141
|
+
// ============================ Events =============================
|
|
142
|
+
const changeEventInfo = {};
|
|
143
|
+
const triggerOnChange = (info, action, reset = false) => {
|
|
144
|
+
const changeInfo = {
|
|
145
|
+
...changeEventInfo,
|
|
146
|
+
...info
|
|
147
|
+
};
|
|
148
|
+
if (reset) {
|
|
149
|
+
changeEventInfo.resetPagination();
|
|
150
|
+
|
|
151
|
+
// Reset event param
|
|
152
|
+
if (changeInfo.pagination.current) {
|
|
153
|
+
changeInfo.pagination.current = 1;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Trigger pagination events
|
|
157
|
+
if (pagination && pagination.onChange) {
|
|
158
|
+
pagination.onChange(1, changeInfo.pagination.pageSize);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {
|
|
162
|
+
(0, _scrollTo.default)(0, {
|
|
163
|
+
getContainer: () => internalRefs.body.current
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
onChange?.(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {
|
|
167
|
+
currentDataSource: (0, _useFilter.getFilterData)((0, _useSorter.getSortData)(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates),
|
|
168
|
+
action
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read
|
|
174
|
+
* state out and then put it back to title render. Move these code into `hooks` but still too
|
|
175
|
+
* complex. We should provides Table props like `sorter` & `filter` to handle control in next big
|
|
176
|
+
* version.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
// ============================ Sorter =============================
|
|
180
|
+
const onSorterChange = (sorter, sorterStates) => {
|
|
181
|
+
triggerOnChange({
|
|
182
|
+
sorter,
|
|
183
|
+
sorterStates
|
|
184
|
+
}, 'sort', false);
|
|
185
|
+
};
|
|
186
|
+
const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = (0, _useSorter.default)({
|
|
187
|
+
prefixCls,
|
|
188
|
+
mergedColumns,
|
|
189
|
+
onSorterChange,
|
|
190
|
+
sortDirections: sortDirections || ['ascend', 'descend'],
|
|
191
|
+
tableLocale,
|
|
192
|
+
showSorterTooltip
|
|
193
|
+
});
|
|
194
|
+
const sortedData = _react.default.useMemo(() => (0, _useSorter.getSortData)(rawData, sortStates, childrenColumnName), [rawData, sortStates]);
|
|
195
|
+
changeEventInfo.sorter = getSorters();
|
|
196
|
+
changeEventInfo.sorterStates = sortStates;
|
|
197
|
+
|
|
198
|
+
// ============================ Filter ============================
|
|
199
|
+
const onFilterChange = (filters, filterStates) => {
|
|
200
|
+
triggerOnChange({
|
|
201
|
+
filters,
|
|
202
|
+
filterStates
|
|
203
|
+
}, 'filter', true);
|
|
204
|
+
};
|
|
205
|
+
const [transformFilterColumns, filterStates, filters] = (0, _useFilter.default)({
|
|
206
|
+
prefixCls,
|
|
207
|
+
locale: tableLocale,
|
|
208
|
+
dropdownPrefixCls,
|
|
209
|
+
mergedColumns,
|
|
210
|
+
onFilterChange,
|
|
211
|
+
getPopupContainer
|
|
212
|
+
});
|
|
213
|
+
const mergedData = (0, _useFilter.getFilterData)(sortedData, filterStates);
|
|
214
|
+
changeEventInfo.filters = filters;
|
|
215
|
+
changeEventInfo.filterStates = filterStates;
|
|
216
|
+
|
|
217
|
+
// ============================ Column ============================
|
|
218
|
+
const columnTitleProps = _react.default.useMemo(() => {
|
|
219
|
+
const mergedFilters = {};
|
|
220
|
+
Object.keys(filters).forEach(filterKey => {
|
|
221
|
+
if (filters[filterKey] !== null) {
|
|
222
|
+
mergedFilters[filterKey] = filters[filterKey];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
return {
|
|
226
|
+
...sorterTitleProps,
|
|
227
|
+
filters: mergedFilters
|
|
228
|
+
};
|
|
229
|
+
}, [sorterTitleProps, filters]);
|
|
230
|
+
const [transformTitleColumns] = (0, _useTitleColumns.default)(columnTitleProps);
|
|
231
|
+
|
|
232
|
+
// ========================== Pagination ==========================
|
|
233
|
+
const onPaginationChange = (current, pageSize) => {
|
|
234
|
+
triggerOnChange({
|
|
235
|
+
pagination: {
|
|
236
|
+
...changeEventInfo.pagination,
|
|
237
|
+
current,
|
|
238
|
+
pageSize
|
|
239
|
+
}
|
|
240
|
+
}, 'paginate');
|
|
241
|
+
};
|
|
242
|
+
const [mergedPagination, resetPagination] = (0, _usePagination.default)(mergedData.length, pagination, onPaginationChange);
|
|
243
|
+
changeEventInfo.pagination = pagination === false ? {} : (0, _usePagination.getPaginationParam)(pagination, mergedPagination);
|
|
244
|
+
changeEventInfo.resetPagination = resetPagination;
|
|
245
|
+
|
|
246
|
+
// ============================= Data =============================
|
|
247
|
+
const pageData = _react.default.useMemo(() => {
|
|
248
|
+
if (pagination === false || !mergedPagination.pageSize) {
|
|
249
|
+
return mergedData;
|
|
250
|
+
}
|
|
251
|
+
const {
|
|
252
|
+
current = 1,
|
|
253
|
+
total,
|
|
254
|
+
pageSize = _usePagination.DEFAULT_PAGE_SIZE
|
|
255
|
+
} = mergedPagination;
|
|
256
|
+
warning(current > 0, 'usage', '`current` should be positive number.');
|
|
257
|
+
|
|
258
|
+
// Dynamic table data
|
|
259
|
+
if (mergedData.length < total) {
|
|
260
|
+
if (mergedData.length > pageSize) {
|
|
261
|
+
warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.');
|
|
262
|
+
return mergedData.slice((current - 1) * pageSize, current * pageSize);
|
|
263
|
+
}
|
|
264
|
+
return mergedData;
|
|
265
|
+
}
|
|
266
|
+
return mergedData.slice((current - 1) * pageSize, current * pageSize);
|
|
267
|
+
}, [!!pagination, mergedData, mergedPagination && mergedPagination.current, mergedPagination && mergedPagination.pageSize, mergedPagination && mergedPagination.total]);
|
|
268
|
+
|
|
269
|
+
// ========================== Selections ==========================
|
|
270
|
+
const [transformSelectionColumns, selectedKeySet] = (0, _useSelection.default)(rowSelection, {
|
|
271
|
+
prefixCls,
|
|
272
|
+
data: mergedData,
|
|
273
|
+
pageData,
|
|
274
|
+
getRowKey,
|
|
275
|
+
getRecordByKey,
|
|
276
|
+
expandType,
|
|
277
|
+
childrenColumnName,
|
|
278
|
+
locale: tableLocale,
|
|
279
|
+
getPopupContainer
|
|
280
|
+
});
|
|
281
|
+
const internalRowClassName = (record, index, indent) => {
|
|
282
|
+
let mergedRowClassName;
|
|
283
|
+
if (typeof rowClassName === 'function') {
|
|
284
|
+
mergedRowClassName = (0, _clsx.default)(rowClassName(record, index, indent));
|
|
285
|
+
} else {
|
|
286
|
+
mergedRowClassName = (0, _clsx.default)(rowClassName);
|
|
287
|
+
}
|
|
288
|
+
return (0, _clsx.default)({
|
|
289
|
+
[`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))
|
|
290
|
+
}, mergedRowClassName);
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
// ========================== Expandable ==========================
|
|
294
|
+
|
|
295
|
+
// Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`
|
|
296
|
+
mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;
|
|
297
|
+
|
|
298
|
+
// Customize expandable icon
|
|
299
|
+
mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || (0, _ExpandIcon.default)(tableLocale);
|
|
300
|
+
|
|
301
|
+
// Adjust expand icon index, no overwrite expandIconColumnIndex if set.
|
|
302
|
+
if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {
|
|
303
|
+
mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;
|
|
304
|
+
} else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {
|
|
305
|
+
mergedExpandable.expandIconColumnIndex -= 1;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// Indent size
|
|
309
|
+
if (typeof mergedExpandable.indentSize !== 'number') {
|
|
310
|
+
mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// ============================ Render ============================
|
|
314
|
+
const transformColumns = _react.default.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);
|
|
315
|
+
let topPaginationNode;
|
|
316
|
+
let bottomPaginationNode;
|
|
317
|
+
if (pagination !== false && mergedPagination?.total) {
|
|
318
|
+
let paginationSize;
|
|
319
|
+
if (mergedPagination.size) {
|
|
320
|
+
paginationSize = mergedPagination.size;
|
|
321
|
+
} else {
|
|
322
|
+
paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;
|
|
323
|
+
}
|
|
324
|
+
const renderPagination = position => /*#__PURE__*/_react.default.createElement(_antd.Pagination, _extends({}, mergedPagination, {
|
|
325
|
+
className: (0, _clsx.default)(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),
|
|
326
|
+
size: paginationSize
|
|
327
|
+
}));
|
|
328
|
+
const defaultPosition = direction === 'rtl' ? 'left' : 'right';
|
|
329
|
+
const {
|
|
330
|
+
position
|
|
331
|
+
} = mergedPagination;
|
|
332
|
+
if (position !== null && Array.isArray(position)) {
|
|
333
|
+
const topPos = position.find(p => p.includes('top'));
|
|
334
|
+
const bottomPos = position.find(p => p.includes('bottom'));
|
|
335
|
+
const isDisable = position.every(p => `${p}` === 'none');
|
|
336
|
+
if (!topPos && !bottomPos && !isDisable) {
|
|
337
|
+
bottomPaginationNode = renderPagination(defaultPosition);
|
|
338
|
+
}
|
|
339
|
+
if (topPos) {
|
|
340
|
+
topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));
|
|
341
|
+
}
|
|
342
|
+
if (bottomPos) {
|
|
343
|
+
bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));
|
|
344
|
+
}
|
|
345
|
+
} else {
|
|
346
|
+
bottomPaginationNode = renderPagination(defaultPosition);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// >>>>>>>>> Spinning
|
|
351
|
+
let spinProps;
|
|
352
|
+
if (typeof loading === 'boolean') {
|
|
353
|
+
spinProps = {
|
|
354
|
+
spinning: loading
|
|
355
|
+
};
|
|
356
|
+
} else if (typeof loading === 'object') {
|
|
357
|
+
spinProps = {
|
|
358
|
+
spinning: true,
|
|
359
|
+
...loading
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
const wrapperClassNames = (0, _clsx.default)(`${prefixCls}-wrapper`, {
|
|
363
|
+
[`${prefixCls}-wrapper-rtl`]: direction === 'rtl'
|
|
364
|
+
}, className);
|
|
365
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
366
|
+
ref: rootRef,
|
|
367
|
+
className: wrapperClassNames,
|
|
368
|
+
style: style
|
|
369
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Spin, _extends({
|
|
370
|
+
spinning: false
|
|
371
|
+
}, spinProps), topPaginationNode, /*#__PURE__*/_react.default.createElement(TableComponent, _extends({}, tableProps, {
|
|
372
|
+
ref: tblRef,
|
|
373
|
+
columns: mergedColumns,
|
|
374
|
+
direction: direction,
|
|
375
|
+
expandable: mergedExpandable,
|
|
376
|
+
prefixCls: prefixCls,
|
|
377
|
+
className: (0, _clsx.default)({
|
|
378
|
+
[`${prefixCls}-middle`]: mergedSize === 'middle',
|
|
379
|
+
[`${prefixCls}-small`]: mergedSize === 'small',
|
|
380
|
+
[`${prefixCls}-bordered`]: bordered,
|
|
381
|
+
[`${prefixCls}-empty`]: rawData.length === 0
|
|
382
|
+
}),
|
|
383
|
+
data: pageData,
|
|
384
|
+
rowKey: getRowKey,
|
|
385
|
+
rowClassName: internalRowClassName,
|
|
386
|
+
emptyText: locale && locale.emptyText || (renderEmpty || _defaultRenderEmpty.default)('Table')
|
|
387
|
+
// Internal
|
|
388
|
+
,
|
|
389
|
+
internalHooks: _table.INTERNAL_HOOKS,
|
|
390
|
+
internalRefs: internalRefs,
|
|
391
|
+
transformColumns: transformColumns,
|
|
392
|
+
getContainerWidth: getContainerWidth
|
|
393
|
+
})), bottomPaginationNode));
|
|
394
|
+
};
|
|
395
|
+
var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(InternalTable);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _table = require("@rc-component/table");
|
|
8
|
+
const RcVirtualTable = (0, _table.genVirtualTable)((prev, next) => {
|
|
9
|
+
const {
|
|
10
|
+
_renderTimes: prevRenderTimes
|
|
11
|
+
} = prev;
|
|
12
|
+
const {
|
|
13
|
+
_renderTimes: nextRenderTimes
|
|
14
|
+
} = next;
|
|
15
|
+
return prevRenderTimes !== nextRenderTimes;
|
|
16
|
+
});
|
|
17
|
+
var _default = exports.default = RcVirtualTable;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _table = require("@rc-component/table");
|
|
8
|
+
const RcTable = (0, _table.genTable)((prev, next) => {
|
|
9
|
+
const {
|
|
10
|
+
_renderTimes: prevRenderTimes
|
|
11
|
+
} = prev;
|
|
12
|
+
const {
|
|
13
|
+
_renderTimes: nextRenderTimes
|
|
14
|
+
} = next;
|
|
15
|
+
return prevRenderTimes !== nextRenderTimes;
|
|
16
|
+
});
|
|
17
|
+
var _default = exports.default = RcTable;
|