@aloudata/aloudata-design 0.2.0-beta.8 → 0.2.2
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/README.md +188 -51
- package/es/Alert/index.d.ts +4 -0
- package/es/Alert/index.js +3 -0
- package/es/Alert/style/index.d.ts +2 -0
- package/es/Alert/style/index.js +2 -0
- package/es/Alert/style/index.less +1 -0
- package/es/Button/style/index.less +90 -50
- package/es/Checkbox/index.d.ts +11 -0
- package/es/Checkbox/index.js +38 -0
- package/es/Checkbox/style/index.d.ts +2 -0
- package/es/Checkbox/style/index.js +2 -0
- package/es/Checkbox/style/index.less +79 -0
- package/es/Col/index.d.ts +4 -0
- package/es/Col/index.js +3 -0
- package/es/Col/style/index.d.ts +2 -0
- package/es/Col/style/index.js +2 -0
- package/es/Col/style/index.less +1 -0
- package/es/ConfigProvider/index.d.ts +3 -0
- package/es/ConfigProvider/index.js +3 -0
- package/es/ConfigProvider/style/index.d.ts +2 -0
- package/es/ConfigProvider/style/index.js +2 -0
- package/es/ConfigProvider/style/index.less +1 -0
- package/es/DatePicker/index.d.ts +4 -0
- package/es/DatePicker/index.js +3 -0
- package/es/DatePicker/style/index.d.ts +2 -0
- package/es/DatePicker/style/index.js +2 -0
- package/es/DatePicker/style/index.less +1 -0
- package/es/Divider/index.d.ts +3 -0
- package/es/Divider/index.js +3 -0
- package/es/Divider/style/index.d.ts +2 -0
- package/es/Divider/style/index.js +2 -0
- package/es/Divider/style/index.less +1 -0
- package/es/Dropdown/Button.d.ts +1 -0
- package/es/Dropdown/Button.js +2 -1
- package/es/Dropdown/index.d.ts +27 -0
- package/es/Dropdown/style/index.d.ts +1 -0
- package/es/Dropdown/style/index.js +1 -0
- package/es/Empty/style/index.less +6 -6
- package/es/Form/index.d.ts +8 -0
- package/es/Form/index.js +3 -0
- package/es/Form/style/index.d.ts +2 -0
- package/es/Form/style/index.js +2 -0
- package/es/Form/style/index.less +1 -0
- package/es/Icon/index.d.ts +3 -0
- package/es/Icon/index.js +2 -1
- package/es/Input/components/Group/index.d.ts +1 -2
- package/es/Input/components/Input/index.d.ts +67 -0
- package/es/Input/components/Input/index.js +38 -0
- package/es/Input/components/Password/index.d.ts +5 -5
- package/es/Input/components/Password/index.js +5 -4
- package/es/Input/components/TextArea/index.d.ts +10 -4
- package/es/Input/components/TextArea/index.js +16 -6
- package/es/Input/index.d.ts +14 -62
- package/es/Input/index.js +4 -40
- package/es/Input/style/index.d.ts +1 -0
- package/es/Input/style/index.js +1 -0
- package/es/Input/style/index.less +40 -10
- package/es/Layout/index.d.ts +4 -0
- package/es/Layout/index.js +3 -0
- package/es/Layout/style/index.d.ts +2 -0
- package/es/Layout/style/index.js +2 -0
- package/es/Layout/style/index.less +1 -0
- package/es/Menu/MenuItem.d.ts +7 -1
- package/es/Menu/style/index.d.ts +1 -0
- package/es/Menu/style/index.js +1 -0
- package/es/Menu/style/index.less +9 -5
- package/es/Message/index.d.ts +4 -0
- package/es/Message/index.js +3 -0
- package/es/Message/style/index.d.ts +2 -0
- package/es/Message/style/index.js +2 -0
- package/es/Message/style/index.less +1 -0
- package/es/Navigator/components/Menu/index.js +2 -2
- package/es/Notification/index.d.ts +3 -0
- package/es/Notification/index.js +3 -0
- package/es/Notification/style/index.d.ts +2 -0
- package/es/Notification/style/index.js +2 -0
- package/es/Notification/style/index.less +1 -0
- package/es/Radio/index.d.ts +4 -0
- package/es/Radio/index.js +3 -0
- package/es/Radio/style/index.d.ts +2 -0
- package/es/Radio/style/index.js +2 -0
- package/es/Radio/style/index.less +1 -0
- package/es/Row/index.d.ts +3 -0
- package/es/Row/index.js +3 -0
- package/es/Row/style/index.d.ts +2 -0
- package/es/Row/style/index.js +2 -0
- package/es/Row/style/index.less +1 -0
- package/es/Select/BaseSelect.js +18 -5
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +2 -1
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +1 -0
- package/es/Select/OptionsList/index.js +13 -20
- package/es/Select/Selector/index.js +13 -9
- package/es/Select/interface.d.ts +10 -2
- package/es/Select/style/index.less +63 -30
- package/es/Skeleton/index.d.ts +3 -0
- package/es/Skeleton/index.js +2 -0
- package/es/Skeleton/style/index.d.ts +2 -0
- package/es/Skeleton/style/index.js +2 -0
- package/es/Skeleton/style/index.less +1 -0
- package/es/Space/index.d.ts +4 -0
- package/es/Space/index.js +3 -0
- package/es/Space/style/index.d.ts +2 -0
- package/es/Space/style/index.js +2 -0
- package/es/Space/style/index.less +1 -0
- package/es/Spin/index.d.ts +4 -0
- package/es/Spin/index.js +2 -0
- package/es/Spin/style/index.d.ts +2 -0
- package/es/Spin/style/index.js +2 -0
- package/es/Spin/style/index.less +1 -0
- package/es/Steps/index.d.ts +3 -0
- package/es/Steps/index.js +2 -0
- package/es/Steps/style/index.d.ts +2 -0
- package/es/Steps/style/index.js +2 -0
- package/es/Steps/style/index.less +1 -0
- package/es/Switch/index.d.ts +4 -0
- package/es/Switch/index.js +2 -0
- package/es/Switch/style/index.d.ts +2 -0
- package/es/Switch/style/index.js +2 -0
- package/es/Switch/style/index.less +1 -0
- package/es/Table/index.d.ts +3 -3
- package/es/Table/index.js +286 -157
- package/es/Table/interface.d.ts +12 -4
- package/es/Table/react-table-config.d.ts +45 -45
- package/es/Table/style/index.less +89 -39
- package/es/Tabs/index.d.ts +5 -0
- package/es/Tabs/index.js +7 -4
- package/es/Tabs/style/index.d.ts +1 -0
- package/es/Tabs/style/index.js +1 -0
- package/es/Tabs/style/index.less +9 -2
- package/es/Tooltip/style/index.less +1 -1
- package/es/Tree/index.d.ts +5 -0
- package/es/Tree/index.js +2 -0
- package/es/Tree/style/index.d.ts +2 -0
- package/es/Tree/style/index.js +2 -0
- package/es/Tree/style/index.less +1 -0
- package/es/Typography/index.d.ts +3 -0
- package/es/Typography/index.js +3 -0
- package/es/Typography/style/index.d.ts +2 -0
- package/es/Typography/style/index.js +2 -0
- package/es/Typography/style/index.less +1 -0
- package/es/Upload/index.d.ts +4 -0
- package/es/Upload/index.js +3 -0
- package/es/Upload/style/index.d.ts +2 -0
- package/es/Upload/style/index.js +2 -0
- package/es/Upload/style/index.less +1 -0
- package/es/_utils/hooks/useControlledState.d.ts +1 -1
- package/es/_utils/hooks/useControlledState.js +11 -11
- package/es/index.d.ts +39 -1
- package/es/index.js +21 -1
- package/es/locale/zh_CN.d.ts +2 -0
- package/es/locale/zh_CN.js +2 -0
- package/es/style/index.d.ts +1 -1
- package/es/style/index.js +1 -1
- package/lib/Alert/index.d.ts +4 -0
- package/lib/Alert/index.js +15 -0
- package/lib/Alert/style/index.d.ts +2 -0
- package/lib/Alert/style/index.js +5 -0
- package/lib/Alert/style/index.less +1 -0
- package/lib/Button/style/index.less +90 -50
- package/lib/Checkbox/index.d.ts +11 -0
- package/lib/Checkbox/index.js +52 -0
- package/lib/Checkbox/style/index.d.ts +2 -0
- package/lib/Checkbox/style/index.js +5 -0
- package/lib/Checkbox/style/index.less +79 -0
- package/lib/Col/index.d.ts +4 -0
- package/lib/Col/index.js +15 -0
- package/lib/Col/style/index.d.ts +2 -0
- package/lib/Col/style/index.js +5 -0
- package/lib/Col/style/index.less +1 -0
- package/lib/ConfigProvider/index.d.ts +3 -0
- package/lib/ConfigProvider/index.js +15 -0
- package/lib/ConfigProvider/style/index.d.ts +2 -0
- package/lib/ConfigProvider/style/index.js +5 -0
- package/lib/ConfigProvider/style/index.less +1 -0
- package/lib/DatePicker/index.d.ts +4 -0
- package/lib/DatePicker/index.js +15 -0
- package/lib/DatePicker/style/index.d.ts +2 -0
- package/lib/DatePicker/style/index.js +5 -0
- package/lib/DatePicker/style/index.less +1 -0
- package/lib/Divider/index.d.ts +3 -0
- package/lib/Divider/index.js +15 -0
- package/lib/Divider/style/index.d.ts +2 -0
- package/lib/Divider/style/index.js +5 -0
- package/lib/Divider/style/index.less +1 -0
- package/lib/Dropdown/Button.d.ts +1 -0
- package/lib/Dropdown/Button.js +2 -0
- package/lib/Dropdown/index.d.ts +27 -0
- package/lib/Dropdown/style/index.d.ts +1 -0
- package/lib/Dropdown/style/index.js +2 -0
- package/lib/Empty/style/index.less +6 -6
- package/lib/Form/index.d.ts +8 -0
- package/lib/Form/index.js +15 -0
- package/lib/Form/style/index.d.ts +2 -0
- package/lib/Form/style/index.js +5 -0
- package/lib/Form/style/index.less +1 -0
- package/lib/Icon/index.d.ts +3 -0
- package/lib/Icon/index.js +6 -0
- package/lib/Input/components/Group/index.d.ts +1 -2
- package/lib/Input/components/Input/index.d.ts +67 -0
- package/lib/Input/components/Input/index.js +51 -0
- package/lib/Input/components/Password/index.d.ts +5 -5
- package/lib/Input/components/Password/index.js +10 -8
- package/lib/Input/components/TextArea/index.d.ts +10 -4
- package/lib/Input/components/TextArea/index.js +18 -7
- package/lib/Input/index.d.ts +14 -62
- package/lib/Input/index.js +4 -42
- package/lib/Input/style/index.d.ts +1 -0
- package/lib/Input/style/index.js +2 -0
- package/lib/Input/style/index.less +40 -10
- package/lib/Layout/index.d.ts +4 -0
- package/lib/Layout/index.js +15 -0
- package/lib/Layout/style/index.d.ts +2 -0
- package/lib/Layout/style/index.js +5 -0
- package/lib/Layout/style/index.less +1 -0
- package/lib/Menu/MenuItem.d.ts +7 -1
- package/lib/Menu/style/index.d.ts +1 -0
- package/lib/Menu/style/index.js +2 -0
- package/lib/Menu/style/index.less +9 -5
- package/lib/Message/index.d.ts +4 -0
- package/lib/Message/index.js +15 -0
- package/lib/Message/style/index.d.ts +2 -0
- package/lib/Message/style/index.js +5 -0
- package/lib/Message/style/index.less +1 -0
- package/lib/Navigator/components/Menu/index.js +2 -2
- package/lib/Notification/index.d.ts +3 -0
- package/lib/Notification/index.js +15 -0
- package/lib/Notification/style/index.d.ts +2 -0
- package/lib/Notification/style/index.js +5 -0
- package/lib/Notification/style/index.less +1 -0
- package/lib/Radio/index.d.ts +4 -0
- package/lib/Radio/index.js +15 -0
- package/lib/Radio/style/index.d.ts +2 -0
- package/lib/Radio/style/index.js +5 -0
- package/lib/Radio/style/index.less +1 -0
- package/lib/Row/index.d.ts +3 -0
- package/lib/Row/index.js +15 -0
- package/lib/Row/style/index.d.ts +2 -0
- package/lib/Row/style/index.js +5 -0
- package/lib/Row/style/index.less +1 -0
- package/lib/Select/BaseSelect.js +18 -5
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +2 -1
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +2 -0
- package/lib/Select/OptionsList/index.js +12 -20
- package/lib/Select/Selector/index.js +13 -9
- package/lib/Select/interface.d.ts +10 -2
- package/lib/Select/style/index.less +63 -30
- package/lib/Skeleton/index.d.ts +3 -0
- package/lib/Skeleton/index.js +13 -0
- package/lib/Skeleton/style/index.d.ts +2 -0
- package/lib/Skeleton/style/index.js +5 -0
- package/lib/Skeleton/style/index.less +1 -0
- package/lib/Space/index.d.ts +4 -0
- package/lib/Space/index.js +23 -0
- package/lib/Space/style/index.d.ts +2 -0
- package/lib/Space/style/index.js +5 -0
- package/lib/Space/style/index.less +1 -0
- package/lib/Spin/index.d.ts +4 -0
- package/lib/Spin/index.js +13 -0
- package/lib/Spin/style/index.d.ts +2 -0
- package/lib/Spin/style/index.js +5 -0
- package/lib/Spin/style/index.less +1 -0
- package/lib/Steps/index.d.ts +3 -0
- package/lib/Steps/index.js +13 -0
- package/lib/Steps/style/index.d.ts +2 -0
- package/lib/Steps/style/index.js +5 -0
- package/lib/Steps/style/index.less +1 -0
- package/lib/Switch/index.d.ts +4 -0
- package/lib/Switch/index.js +13 -0
- package/lib/Switch/style/index.d.ts +2 -0
- package/lib/Switch/style/index.js +5 -0
- package/lib/Switch/style/index.less +1 -0
- package/lib/Table/index.d.ts +3 -3
- package/lib/Table/index.js +295 -165
- package/lib/Table/interface.d.ts +12 -4
- package/lib/Table/react-table-config.d.ts +45 -45
- package/lib/Table/style/index.less +89 -39
- package/lib/Tabs/index.d.ts +5 -0
- package/lib/Tabs/index.js +6 -3
- package/lib/Tabs/style/index.d.ts +1 -0
- package/lib/Tabs/style/index.js +2 -0
- package/lib/Tabs/style/index.less +9 -2
- package/lib/Tooltip/style/index.less +1 -1
- package/lib/Tree/index.d.ts +5 -0
- package/lib/Tree/index.js +13 -0
- package/lib/Tree/style/index.d.ts +2 -0
- package/lib/Tree/style/index.js +5 -0
- package/lib/Tree/style/index.less +1 -0
- package/lib/Typography/index.d.ts +3 -0
- package/lib/Typography/index.js +15 -0
- package/lib/Typography/style/index.d.ts +2 -0
- package/lib/Typography/style/index.js +5 -0
- package/lib/Typography/style/index.less +1 -0
- package/lib/Upload/index.d.ts +4 -0
- package/lib/Upload/index.js +15 -0
- package/lib/Upload/style/index.d.ts +2 -0
- package/lib/Upload/style/index.js +5 -0
- package/lib/Upload/style/index.less +1 -0
- package/lib/_utils/hooks/useControlledState.d.ts +1 -1
- package/lib/_utils/hooks/useControlledState.js +11 -11
- package/lib/index.d.ts +39 -1
- package/lib/index.js +160 -0
- package/lib/locale/zh_CN.d.ts +2 -0
- package/lib/locale/zh_CN.js +13 -0
- package/lib/style/index.d.ts +1 -1
- package/lib/style/index.js +1 -1
- package/package.json +15 -4
package/es/Table/index.js
CHANGED
|
@@ -5,6 +5,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
5
5
|
|
|
6
6
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
7
7
|
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
|
|
12
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
|
|
8
14
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
15
|
|
|
10
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -17,50 +23,116 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
17
23
|
|
|
18
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
-
|
|
24
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
-
|
|
26
|
+
/* eslint-disable no-unneeded-ternary */
|
|
26
27
|
/// <reference types ='./react-table-config' />
|
|
27
|
-
import
|
|
28
|
-
import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
|
|
29
|
-
import usePrefixCls from '../_utils/hooks/usePrefixCls';
|
|
30
|
-
import { FixedSizeList } from 'react-window';
|
|
31
|
-
import InfiniteLoader from 'react-window-infinite-loader';
|
|
28
|
+
import _ from 'lodash';
|
|
32
29
|
import classnames from 'classnames';
|
|
33
30
|
import Icon from '../Icon';
|
|
31
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
32
|
+
import usePrefixCls from '../_utils/hooks/usePrefixCls';
|
|
33
|
+
import InfiniteScroll from 'react-infinite-scroll-component';
|
|
34
34
|
import Empty from '../Empty';
|
|
35
|
-
import
|
|
36
|
-
|
|
35
|
+
import ResizeObserver from 'rc-resize-observer';
|
|
36
|
+
import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
|
|
37
37
|
var ARRAY_FIRST_INDEX = 0;
|
|
38
38
|
var DEFAULT_ROW_WIDTH = 0;
|
|
39
|
+
var DEFAULT_BODY_HEIGHT = 0;
|
|
39
40
|
|
|
40
|
-
function Table(_ref) {
|
|
41
|
+
function Table(_ref, ref) {
|
|
41
42
|
var columns = _ref.columns,
|
|
42
43
|
data = _ref.data,
|
|
43
44
|
total = _ref.total,
|
|
44
45
|
renderHeaderLeft = _ref.renderHeaderLeft,
|
|
45
46
|
renderHeaderRight = _ref.renderHeaderRight,
|
|
46
|
-
scrollY = _ref.scrollY,
|
|
47
47
|
onRowSelected = _ref.onRowSelected,
|
|
48
|
-
|
|
49
|
-
loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
|
|
50
|
-
hasNextPage = _ref.hasNextPage,
|
|
48
|
+
loadMore = _ref.loadMore,
|
|
51
49
|
loading = _ref.loading,
|
|
50
|
+
hasNextPage = _ref.hasNextPage,
|
|
52
51
|
_ref$sortable = _ref.sortable,
|
|
53
52
|
sortable = _ref$sortable === void 0 ? false : _ref$sortable,
|
|
54
53
|
defaultSort = _ref.defaultSort,
|
|
55
54
|
_ref$resizeColumn = _ref.resizeColumn,
|
|
56
55
|
resizeColumn = _ref$resizeColumn === void 0 ? false : _ref$resizeColumn,
|
|
57
56
|
allSortDirections = _ref.sortDirections,
|
|
57
|
+
_ref$showHeader = _ref.showHeader,
|
|
58
|
+
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
58
59
|
_ref$onChange = _ref.onChange,
|
|
59
|
-
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange
|
|
60
|
+
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
61
|
+
_ref$innerScroll = _ref.innerScroll,
|
|
62
|
+
innerScroll = _ref$innerScroll === void 0 ? false : _ref$innerScroll,
|
|
63
|
+
_ref$scrollThreshold = _ref.scrollThreshold,
|
|
64
|
+
scrollThreshold = _ref$scrollThreshold === void 0 ? '150px' : _ref$scrollThreshold,
|
|
65
|
+
_ref$rowClassName = _ref.rowClassName,
|
|
66
|
+
rowClassName = _ref$rowClassName === void 0 ? '' : _ref$rowClassName,
|
|
67
|
+
_ref$ellipsis = _ref.ellipsis,
|
|
68
|
+
ellipsis = _ref$ellipsis === void 0 ? true : _ref$ellipsis,
|
|
69
|
+
renderEmpty = _ref.renderEmpty,
|
|
70
|
+
rowKey = _ref.rowKey;
|
|
71
|
+
|
|
72
|
+
var _React$useState = React.useState(null),
|
|
73
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
74
|
+
selectedRowId = _React$useState2[0],
|
|
75
|
+
setSelectedRowId = _React$useState2[1];
|
|
76
|
+
|
|
77
|
+
var tableBodyListRef = useRef(null);
|
|
78
|
+
var tableRef = useRef(null);
|
|
79
|
+
|
|
80
|
+
var _useState = useState(DEFAULT_BODY_HEIGHT),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
tableClientWidth = _useState2[0],
|
|
83
|
+
setTableClientWidth = _useState2[1];
|
|
84
|
+
|
|
85
|
+
var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
|
|
86
|
+
|
|
87
|
+
var _useState3 = useState(DEFAULT_ROW_WIDTH),
|
|
88
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
89
|
+
width = _useState4[0],
|
|
90
|
+
setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
useEffect(function () {
|
|
94
|
+
if (tableRef.current) {
|
|
95
|
+
setTableClientWidth(tableRef.current.clientWidth);
|
|
96
|
+
}
|
|
97
|
+
}, [width]);
|
|
98
|
+
var initialColumnsWidthMap = useMemo(function () {
|
|
99
|
+
var map = new Map();
|
|
100
|
+
|
|
101
|
+
if (tableClientWidth !== DEFAULT_BODY_HEIGHT) {
|
|
102
|
+
var noGivenColumns = 0;
|
|
103
|
+
var givenColumnsTotalWidth = 0;
|
|
104
|
+
columns.forEach(function (column) {
|
|
105
|
+
if (column.width) {
|
|
106
|
+
map.set(column.dataIndex, column.width);
|
|
107
|
+
givenColumnsTotalWidth += column.width;
|
|
108
|
+
} else {
|
|
109
|
+
noGivenColumns += 1;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
var averageWidth = (tableClientWidth - givenColumnsTotalWidth) / noGivenColumns;
|
|
113
|
+
return {
|
|
114
|
+
columnMap: map,
|
|
115
|
+
averageWidth: averageWidth
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
columns.forEach(function (column) {
|
|
120
|
+
if (column.width) {
|
|
121
|
+
map.set(column.dataIndex, column.width);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
columnMap: map,
|
|
126
|
+
averageWidth: DEFAULT_ROW_WIDTH
|
|
127
|
+
};
|
|
128
|
+
}, [columns, tableClientWidth]);
|
|
60
129
|
var newColumns = useMemo(function () {
|
|
61
130
|
return columns.map(function (column) {
|
|
62
131
|
return _objectSpread(_objectSpread({}, column), {}, {
|
|
63
|
-
|
|
132
|
+
width: initialColumnsWidthMap.columnMap.get(column.dataIndex) || initialColumnsWidthMap.averageWidth,
|
|
133
|
+
Header: column.title ? column.title : function () {
|
|
134
|
+
return null;
|
|
135
|
+
},
|
|
64
136
|
disableSortBy: !sortable || typeof column.sorter === 'boolean',
|
|
65
137
|
accessor: column.dataIndex,
|
|
66
138
|
Cell: function Cell(_ref2) {
|
|
@@ -70,26 +142,57 @@ function Table(_ref) {
|
|
|
70
142
|
}
|
|
71
143
|
});
|
|
72
144
|
});
|
|
73
|
-
}, [columns, sortable]);
|
|
145
|
+
}, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
|
|
74
146
|
|
|
75
|
-
var
|
|
76
|
-
id:
|
|
77
|
-
desc:
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
147
|
+
var defaultSortObject = {
|
|
148
|
+
id: newColumns[ARRAY_FIRST_INDEX].accessor,
|
|
149
|
+
desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
|
|
150
|
+
}; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
|
|
151
|
+
|
|
152
|
+
var getInitialSortDirection = function getInitialSortDirection() {
|
|
153
|
+
if (defaultSort && defaultSort.id) {
|
|
154
|
+
return defaultSort;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (sortable) {
|
|
158
|
+
return defaultSortObject;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return {
|
|
162
|
+
id: '',
|
|
163
|
+
desc: false
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
var _React$useState3 = React.useState(getInitialSortDirection()),
|
|
168
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
169
|
+
sortDirection = _React$useState4[0],
|
|
170
|
+
setSortDirection = _React$useState4[1];
|
|
171
|
+
|
|
172
|
+
var getInitSortBy = function getInitSortBy() {
|
|
173
|
+
if (!(sortDirection === null || sortDirection === void 0 ? void 0 : sortDirection.id)) {
|
|
174
|
+
return [];
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
var sortColumn = newColumns.find(function (column) {
|
|
178
|
+
return column.accessor === sortDirection.id;
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
if (sortColumn === null || sortColumn === void 0 ? void 0 : sortColumn.sorter) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return [sortDirection];
|
|
186
|
+
};
|
|
82
187
|
|
|
83
188
|
var _useTable = useTable({
|
|
84
189
|
columns: newColumns,
|
|
85
190
|
data: data,
|
|
86
191
|
disableMultiSort: true,
|
|
87
192
|
disableSortBy: !sortable,
|
|
193
|
+
getRowId: rowKey,
|
|
88
194
|
initialState: {
|
|
89
|
-
sortBy:
|
|
90
|
-
id: sortDirection.id,
|
|
91
|
-
desc: sortDirection.desc
|
|
92
|
-
}]
|
|
195
|
+
sortBy: getInitSortBy()
|
|
93
196
|
}
|
|
94
197
|
}, useBlockLayout, useSortBy, useRowSelect, useResizeColumns),
|
|
95
198
|
getTableProps = _useTable.getTableProps,
|
|
@@ -97,26 +200,11 @@ function Table(_ref) {
|
|
|
97
200
|
headerGroups = _useTable.headerGroups,
|
|
98
201
|
rows = _useTable.rows,
|
|
99
202
|
prepareRow = _useTable.prepareRow,
|
|
100
|
-
setSortBy = _useTable.setSortBy
|
|
101
|
-
|
|
102
|
-
var _React$useState3 = React.useState(null),
|
|
103
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
104
|
-
selectedRowId = _React$useState4[0],
|
|
105
|
-
setSelectedRowId = _React$useState4[1];
|
|
203
|
+
setSortBy = _useTable.setSortBy,
|
|
204
|
+
totalColumnsWidth = _useTable.totalColumnsWidth;
|
|
106
205
|
|
|
107
206
|
var theadRowWidthRef = React.useRef(DEFAULT_ROW_WIDTH);
|
|
108
207
|
var prefixCls = usePrefixCls('block-table');
|
|
109
|
-
|
|
110
|
-
function getTbodyStyle() {
|
|
111
|
-
if (scrollY) {
|
|
112
|
-
return {
|
|
113
|
-
height: "".concat(scrollY, "px")
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return {};
|
|
118
|
-
}
|
|
119
|
-
|
|
120
208
|
var onRowClick = useCallback(function (row) {
|
|
121
209
|
if (!onRowSelected) {
|
|
122
210
|
return;
|
|
@@ -125,48 +213,6 @@ function Table(_ref) {
|
|
|
125
213
|
setSelectedRowId(row.id);
|
|
126
214
|
onRowSelected(row.original);
|
|
127
215
|
}, [onRowSelected]);
|
|
128
|
-
var itemCount = hasNextPage ? data.length + 1 : data.length;
|
|
129
|
-
var loadMoreItems = loading ? function () {} : loadMore;
|
|
130
|
-
|
|
131
|
-
var isItemLoaded = function isItemLoaded(index) {
|
|
132
|
-
return !hasNextPage || index < data.length;
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
var RenderRow = function RenderRow(_ref3) {
|
|
136
|
-
var index = _ref3.index,
|
|
137
|
-
style = _ref3.style;
|
|
138
|
-
|
|
139
|
-
if (!isItemLoaded(index)) {
|
|
140
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
141
|
-
style: style,
|
|
142
|
-
className: classnames("".concat(prefixCls, "-loading"))
|
|
143
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
144
|
-
type: "waiting",
|
|
145
|
-
size: 16
|
|
146
|
-
}), "Loading");
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
var row = rows[index];
|
|
150
|
-
prepareRow(row);
|
|
151
|
-
|
|
152
|
-
var _row$getRowProps = row.getRowProps(),
|
|
153
|
-
rowStyle = _row$getRowProps.style,
|
|
154
|
-
rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
|
155
|
-
|
|
156
|
-
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
|
|
157
|
-
style: _objectSpread(_objectSpread(_objectSpread({}, style), rowStyle), {}, {
|
|
158
|
-
width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
|
|
159
|
-
}),
|
|
160
|
-
className: classnames("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
|
|
161
|
-
onClick: function onClick() {
|
|
162
|
-
return onRowClick(row);
|
|
163
|
-
}
|
|
164
|
-
}), row.cells.map(function (cell) {
|
|
165
|
-
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
|
|
166
|
-
className: classnames("".concat(prefixCls, "-cell"))
|
|
167
|
-
}), cell.render('Cell'));
|
|
168
|
-
}));
|
|
169
|
-
};
|
|
170
216
|
|
|
171
217
|
var renderHeader = function renderHeader(len) {
|
|
172
218
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -176,41 +222,65 @@ function Table(_ref) {
|
|
|
176
222
|
}, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
|
|
177
223
|
className: classnames("".concat(prefixCls, "-header-right"))
|
|
178
224
|
}, renderHeaderRight ? renderHeaderRight() : null));
|
|
179
|
-
};
|
|
225
|
+
}; // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
|
|
226
|
+
// 获取排序方向以及排序的id
|
|
180
227
|
|
|
181
|
-
|
|
228
|
+
|
|
229
|
+
var getSortBy = function getSortBy(id) {
|
|
182
230
|
var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
|
|
183
|
-
var
|
|
231
|
+
var // 如果传了sortDirections,则使用传入的,否则使用默认的
|
|
232
|
+
sortOrder = arguments.length > 2 ? arguments[2] : undefined;
|
|
233
|
+
var res = {
|
|
234
|
+
id: id,
|
|
235
|
+
desc: undefined // 给个默认的排序
|
|
236
|
+
|
|
237
|
+
};
|
|
238
|
+
var isSameCol = sortDirection.id === id;
|
|
184
239
|
var descMap = new Map([['ascend', false], ['descend', true]]);
|
|
185
|
-
var directions = allSortDirections || sortDirections;
|
|
240
|
+
var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
|
|
241
|
+
|
|
242
|
+
if (!isSameCol) {
|
|
243
|
+
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
244
|
+
res.desc = descMap.get(sortOrder);
|
|
245
|
+
} else {
|
|
246
|
+
res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return res;
|
|
250
|
+
} // 如果是同一列
|
|
251
|
+
// 如果列给了默认的sortOrder则不在变化
|
|
252
|
+
|
|
186
253
|
|
|
187
254
|
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
188
|
-
|
|
189
|
-
|
|
255
|
+
res.desc = descMap.get(sortOrder);
|
|
256
|
+
return res;
|
|
257
|
+
} // 在所有方向上 往后取一个
|
|
190
258
|
|
|
191
|
-
if (typeof currentDesc === 'undefined') {
|
|
192
|
-
return descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
193
|
-
}
|
|
194
259
|
|
|
195
|
-
var
|
|
260
|
+
var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
|
|
196
261
|
|
|
197
262
|
var index = _.findIndex(directions, function (item) {
|
|
198
|
-
return item ===
|
|
263
|
+
return item === lastSortDirection;
|
|
199
264
|
});
|
|
200
265
|
|
|
201
266
|
var nextIndex = index + 1;
|
|
202
|
-
|
|
267
|
+
res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
|
|
268
|
+
|
|
269
|
+
if (res.desc === undefined) {
|
|
270
|
+
res.id = '';
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
return res;
|
|
203
274
|
};
|
|
204
275
|
|
|
205
276
|
var getHeaderProps = function getHeaderProps(column) {
|
|
206
277
|
// @ts-ignore
|
|
207
278
|
var id = column.id,
|
|
208
|
-
isSortedDesc = column.isSortedDesc,
|
|
209
279
|
canSort = column.canSort,
|
|
210
280
|
sorter = column.sorter,
|
|
211
281
|
sortOrder = column.sortOrder,
|
|
212
282
|
sortDirections = column.sortDirections;
|
|
213
|
-
var toggleProps = column.getSortByToggleProps();
|
|
283
|
+
var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
|
|
214
284
|
|
|
215
285
|
if (canSort) {
|
|
216
286
|
// client sort
|
|
@@ -219,19 +289,16 @@ function Table(_ref) {
|
|
|
219
289
|
e.stopPropagation();
|
|
220
290
|
|
|
221
291
|
if (typeof toggleProps.onClick === 'function') {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
id: typeof desc === 'undefined' ? '' : id,
|
|
226
|
-
desc: desc
|
|
227
|
-
};
|
|
228
|
-
setSortBy([sortBy]);
|
|
292
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
293
|
+
setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
|
|
294
|
+
|
|
229
295
|
setSortDirection(sortBy);
|
|
230
296
|
onChange(sortBy);
|
|
231
297
|
}
|
|
232
298
|
}
|
|
233
299
|
});
|
|
234
|
-
}
|
|
300
|
+
} // 当列设置sorter属性时,则为服务端排序
|
|
301
|
+
|
|
235
302
|
|
|
236
303
|
if (sorter) {
|
|
237
304
|
// server sort
|
|
@@ -241,14 +308,8 @@ function Table(_ref) {
|
|
|
241
308
|
}
|
|
242
309
|
})), {}, {
|
|
243
310
|
onClick: function onClick(e) {
|
|
244
|
-
e.stopPropagation();
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
|
|
248
|
-
var sortBy = {
|
|
249
|
-
id: typeof desc === 'boolean' ? id : '',
|
|
250
|
-
desc: desc
|
|
251
|
-
};
|
|
311
|
+
e.stopPropagation();
|
|
312
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
252
313
|
setSortDirection(sortBy);
|
|
253
314
|
onChange(sortBy);
|
|
254
315
|
}
|
|
@@ -258,8 +319,8 @@ function Table(_ref) {
|
|
|
258
319
|
return column.getHeaderProps();
|
|
259
320
|
};
|
|
260
321
|
|
|
261
|
-
var SortIcons = function SortIcons(
|
|
262
|
-
var id =
|
|
322
|
+
var SortIcons = function SortIcons(_ref3) {
|
|
323
|
+
var id = _ref3.id;
|
|
263
324
|
var currentSortId = sortDirection.id,
|
|
264
325
|
desc = sortDirection.desc;
|
|
265
326
|
|
|
@@ -278,10 +339,89 @@ function Table(_ref) {
|
|
|
278
339
|
});
|
|
279
340
|
};
|
|
280
341
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
342
|
+
var scrollToTop = function scrollToTop() {
|
|
343
|
+
var INITIAL_OFFSET_TOP = 0;
|
|
344
|
+
|
|
345
|
+
if (tableBodyListRef && tableBodyListRef.current) {
|
|
346
|
+
tableBodyListRef.current.scrollTop = INITIAL_OFFSET_TOP;
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
React.useImperativeHandle(ref, function () {
|
|
351
|
+
return {
|
|
352
|
+
backToTop: function backToTop() {
|
|
353
|
+
scrollToTop();
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
});
|
|
357
|
+
var LoadingNode = /*#__PURE__*/React.createElement("div", {
|
|
358
|
+
className: classnames("".concat(prefixCls, "-loading"))
|
|
359
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
360
|
+
type: "waiting",
|
|
361
|
+
size: 16
|
|
362
|
+
}), "Loading");
|
|
363
|
+
|
|
364
|
+
var renderTableBody = function renderTableBody() {
|
|
365
|
+
if (loading && !rows.length) {
|
|
366
|
+
return LoadingNode;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (!loading && !rows.length) {
|
|
370
|
+
return renderEmpty ? renderEmpty() : /*#__PURE__*/React.createElement(Empty, {
|
|
371
|
+
description: "\u5F53\u524D\u65E0\u6570\u636E"
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
var renderRowList = function renderRowList() {
|
|
376
|
+
return data.map(function (item, index) {
|
|
377
|
+
var _classnames;
|
|
378
|
+
|
|
379
|
+
var row = rows[index];
|
|
380
|
+
prepareRow(row);
|
|
381
|
+
|
|
382
|
+
var _row$getRowProps = row.getRowProps(),
|
|
383
|
+
rowStyle = _row$getRowProps.style,
|
|
384
|
+
rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
|
385
|
+
|
|
386
|
+
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
|
|
387
|
+
style: _objectSpread({}, rowStyle),
|
|
388
|
+
className: classnames("".concat(prefixCls, "-row"), (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId), _defineProperty(_classnames, rowClassName, rowClassName), _defineProperty(_classnames, "".concat(prefixCls, "-row-ellipsis"), ellipsis), _classnames)),
|
|
389
|
+
onClick: function onClick() {
|
|
390
|
+
return onRowClick(row);
|
|
391
|
+
},
|
|
392
|
+
key: row.id
|
|
393
|
+
}), row.cells.map(function (cell) {
|
|
394
|
+
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
|
|
395
|
+
className: classnames("".concat(prefixCls, "-cell"))
|
|
396
|
+
}), cell.render('Cell'));
|
|
397
|
+
}));
|
|
398
|
+
});
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
402
|
+
className: classnames("".concat(prefixCls, "-list"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
403
|
+
id: RANDOM_ID,
|
|
404
|
+
ref: tableBodyListRef
|
|
405
|
+
}, innerScroll ? /*#__PURE__*/React.createElement(InfiniteScroll, {
|
|
406
|
+
dataLength: rows.length,
|
|
407
|
+
next: loadMore,
|
|
408
|
+
hasMore: !!hasNextPage,
|
|
409
|
+
loader: LoadingNode,
|
|
410
|
+
scrollableTarget: RANDOM_ID,
|
|
411
|
+
scrollThreshold: scrollThreshold
|
|
412
|
+
}, renderRowList()) : renderRowList());
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
return /*#__PURE__*/React.createElement(ResizeObserver, {
|
|
416
|
+
onResize: function onResize(_ref4) {
|
|
417
|
+
var domWidth = _ref4.width;
|
|
418
|
+
setWidth(domWidth);
|
|
419
|
+
}
|
|
420
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
421
|
+
className: prefixCls,
|
|
422
|
+
ref: tableRef
|
|
423
|
+
}, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
|
|
424
|
+
className: classnames("".concat(prefixCls, "-table-wrap"), _defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
|
|
285
425
|
}), /*#__PURE__*/React.createElement("div", {
|
|
286
426
|
className: "".concat(prefixCls, "-thead")
|
|
287
427
|
}, headerGroups.map(function (headerGroup) {
|
|
@@ -297,39 +437,28 @@ function Table(_ref) {
|
|
|
297
437
|
className: "".concat(prefixCls, "-row")
|
|
298
438
|
}), headerGroup.headers.map(function (column) {
|
|
299
439
|
var barPorps = resizeColumn ? column.getResizerProps() : {};
|
|
300
|
-
return /*#__PURE__*/React.createElement("div",
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
}, getHeaderProps(column)), {}, {
|
|
440
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
441
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell")),
|
|
442
|
+
style: getHeaderProps(column).style,
|
|
304
443
|
key: column.id
|
|
305
|
-
}
|
|
306
|
-
className:
|
|
307
|
-
})),
|
|
444
|
+
}, /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
|
|
445
|
+
className: "".concat(prefixCls, "-cell-content")
|
|
446
|
+
}, getHeaderProps(column)), {}, {
|
|
447
|
+
style: {
|
|
448
|
+
width: '100%'
|
|
449
|
+
}
|
|
450
|
+
}), column.render('Header'), /*#__PURE__*/React.createElement(SortIcons, {
|
|
308
451
|
id: column.id
|
|
309
|
-
}))
|
|
452
|
+
})), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
|
|
453
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
|
|
454
|
+
})));
|
|
310
455
|
}));
|
|
311
456
|
})), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
|
|
312
|
-
className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-
|
|
313
|
-
style:
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}),
|
|
317
|
-
isItemLoaded: isItemLoaded,
|
|
318
|
-
itemCount: itemCount,
|
|
319
|
-
loadMoreItems: loadMoreItems
|
|
320
|
-
}, function (_ref5) {
|
|
321
|
-
var onItemsRendered = _ref5.onItemsRendered,
|
|
322
|
-
ref = _ref5.ref;
|
|
323
|
-
return /*#__PURE__*/React.createElement(FixedSizeList, {
|
|
324
|
-
itemCount: itemCount,
|
|
325
|
-
onItemsRendered: onItemsRendered,
|
|
326
|
-
height: scrollY || data.length * DEFAULT_ROW_HEIGHT,
|
|
327
|
-
itemSize: DEFAULT_ROW_HEIGHT,
|
|
328
|
-
width: resizeColumn ? theadRowWidthRef.current : '100%',
|
|
329
|
-
ref: ref,
|
|
330
|
-
className: "".concat(prefixCls, "-list")
|
|
331
|
-
}, RenderRow);
|
|
332
|
-
}))));
|
|
457
|
+
className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
458
|
+
style: {
|
|
459
|
+
width: totalColumnsWidth
|
|
460
|
+
}
|
|
461
|
+
}), renderTableBody()))));
|
|
333
462
|
}
|
|
334
463
|
|
|
335
|
-
export default Table;
|
|
464
|
+
export default /*#__PURE__*/React.forwardRef(Table);
|
package/es/Table/interface.d.ts
CHANGED
|
@@ -6,22 +6,22 @@ export interface ISort<T> {
|
|
|
6
6
|
desc?: boolean;
|
|
7
7
|
}
|
|
8
8
|
export interface IColumn<T extends object> {
|
|
9
|
-
title: string;
|
|
9
|
+
title: string | null;
|
|
10
10
|
dataIndex: string;
|
|
11
|
-
render?: (value:
|
|
11
|
+
render?: (value: any, row: any, index: number) => React.ReactNode;
|
|
12
12
|
width?: number;
|
|
13
13
|
minWidth?: number;
|
|
14
14
|
sorter?: boolean | 'string' | 'number' | 'basic' | 'datetime' | 'alphanumeric' | ((rowA: Row<T>, rowB: Row<T>, columnId: IdType<T>, desc?: boolean) => number);
|
|
15
15
|
sortOrder?: TSortOrder;
|
|
16
16
|
sortDirections?: Array<'ascend' | 'descend'>;
|
|
17
|
+
selected?: boolean;
|
|
17
18
|
}
|
|
18
19
|
export interface ITableProps<T extends object> {
|
|
19
20
|
columns: IColumn<T>[];
|
|
20
21
|
data: T[];
|
|
21
22
|
total?: number;
|
|
22
|
-
scrollY?: number;
|
|
23
23
|
onRowSelected?: (row: T) => void;
|
|
24
|
-
loadMore?: (
|
|
24
|
+
loadMore?: () => void | Promise<void>;
|
|
25
25
|
hasNextPage?: boolean;
|
|
26
26
|
loading?: boolean;
|
|
27
27
|
renderHeaderLeft?: () => React.ReactNode;
|
|
@@ -31,4 +31,12 @@ export interface ITableProps<T extends object> {
|
|
|
31
31
|
defaultSort?: ISort<T>;
|
|
32
32
|
sortDirections?: Array<'ascend' | 'descend'>;
|
|
33
33
|
resizeColumn?: boolean;
|
|
34
|
+
showHeader?: boolean;
|
|
35
|
+
innerScroll?: boolean;
|
|
36
|
+
ref?: React.RefObject<unknown>;
|
|
37
|
+
scrollThreshold?: string | number;
|
|
38
|
+
rowKey?: (row: any) => string;
|
|
39
|
+
rowClassName?: string;
|
|
40
|
+
ellipsis?: boolean;
|
|
41
|
+
renderEmpty?: () => React.ReactNode;
|
|
34
42
|
}
|