@autobest-ui/components 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/esm/accordion/__stories__/style.scss +58 -58
- package/esm/affix/__stories__/style.scss +13 -13
- package/esm/affix/style/index.scss +34 -34
- package/esm/base.scss +42 -42
- package/esm/carousel/__stories__/style.scss +41 -41
- package/esm/carousel/index.d.ts +21 -13
- package/esm/carousel/index.js +77 -44
- package/esm/carousel/style/index.css +1 -1
- package/esm/carousel/style/index.scss +43 -37
- package/esm/checkbox/style/index.scss +117 -117
- package/esm/collapse/__stories__/style.scss +18 -18
- package/esm/collapse/style/index.scss +42 -42
- package/esm/confirm/style/index.scss +44 -44
- package/esm/date-picker/calendar/grid/index.scss +85 -85
- package/esm/date-picker/calendar/index.scss +57 -57
- package/esm/date-picker/style/index.scss +18 -18
- package/esm/drawer/style/index.scss +44 -44
- package/esm/ellipsis/style/index.scss +35 -35
- package/esm/guide/__stories__/style.scss +13 -13
- package/esm/guide/style/index.scss +17 -17
- package/esm/icon/__stories__/style.scss +39 -39
- package/esm/icon/style/index.scss +6 -6
- package/esm/index.d.ts +1 -1
- package/esm/input-number/style/index.scss +86 -86
- package/esm/lazy-image/__stories__/style.scss +9 -9
- package/esm/lazy-image/style/index.scss +24 -24
- package/esm/link-list/style/index.scss +125 -125
- package/esm/loading/style/index.scss +30 -30
- package/esm/loading-bar/style/index.scss +62 -62
- package/esm/loading-container/__stories__/style.scss +5 -5
- package/esm/loading-container/style/index.scss +27 -27
- package/esm/loading-icon/style/index.scss +23 -23
- package/esm/mask/style/index.scss +34 -34
- package/esm/message/style/index.scss +70 -70
- package/esm/modal/style/index.scss +112 -112
- package/esm/move/__stories__/style.scss +6 -6
- package/esm/move/style/index.scss +7 -7
- package/esm/popover/__stories__/style.scss +15 -15
- package/esm/popover/style/index.scss +59 -59
- package/esm/select/__stories__/style.scss +8 -8
- package/esm/select/style/index.scss +126 -126
- package/esm/show-more/style/index.scss +22 -22
- package/esm/skeleton/__stories__/style.scss +2 -2
- package/esm/skeleton/style/index.scss +26 -26
- package/esm/style.css +15 -15
- package/esm/table/__stories__/style.css +1 -1
- package/esm/table/__stories__/style.scss +33 -2
- package/esm/table/body/BodyRow.d.ts +13 -0
- package/esm/table/body/BodyRow.js +94 -0
- package/esm/table/body/CheckIcon.d.ts +16 -0
- package/esm/table/body/CheckIcon.js +35 -0
- package/esm/table/body/index.d.ts +24 -0
- package/esm/table/body/index.js +61 -0
- package/esm/table/header/CheckIcon.d.ts +13 -0
- package/esm/table/header/CheckIcon.js +37 -0
- package/esm/table/header/HeaderCell.d.ts +18 -0
- package/esm/table/{HeaderCell.js → header/HeaderCell.js} +11 -4
- package/esm/table/header/HeaderRow.d.ts +16 -0
- package/esm/table/header/HeaderRow.js +76 -0
- package/esm/table/index.d.ts +52 -27
- package/esm/table/index.js +178 -155
- package/esm/table/interface.d.ts +16 -3
- package/esm/table/style/index.css +1 -1
- package/esm/table/style/index.scss +51 -70
- package/esm/tabs/__stories__/style.scss +8 -8
- package/esm/tabs/style/index.css +1 -1
- package/esm/tabs/style/index.scss +62 -62
- package/esm/tooltip/style/index.scss +61 -61
- package/esm/trigger/style/index.scss +79 -79
- package/lib/accordion/__stories__/style.scss +58 -58
- package/lib/affix/__stories__/style.scss +13 -13
- package/lib/affix/style/index.scss +34 -34
- package/lib/base.scss +42 -42
- package/lib/carousel/__stories__/style.scss +41 -41
- package/lib/carousel/index.d.ts +21 -13
- package/lib/carousel/index.js +80 -45
- package/lib/carousel/style/index.css +1 -1
- package/lib/carousel/style/index.scss +43 -37
- package/lib/checkbox/style/index.scss +117 -117
- package/lib/collapse/__stories__/style.scss +18 -18
- package/lib/collapse/style/index.scss +42 -42
- package/lib/confirm/style/index.scss +44 -44
- package/lib/date-picker/calendar/grid/index.scss +85 -85
- package/lib/date-picker/calendar/index.scss +57 -57
- package/lib/date-picker/style/index.scss +18 -18
- package/lib/drawer/style/index.scss +44 -44
- package/lib/ellipsis/style/index.scss +35 -35
- package/lib/guide/__stories__/style.scss +13 -13
- package/lib/guide/style/index.scss +17 -17
- package/lib/icon/__stories__/style.scss +39 -39
- package/lib/icon/style/index.scss +6 -6
- package/lib/index.d.ts +1 -1
- package/lib/input-number/style/index.scss +86 -86
- package/lib/lazy-image/__stories__/style.scss +9 -9
- package/lib/lazy-image/style/index.scss +24 -24
- package/lib/link-list/style/index.scss +125 -125
- package/lib/loading/style/index.scss +30 -30
- package/lib/loading-bar/style/index.scss +62 -62
- package/lib/loading-container/__stories__/style.scss +5 -5
- package/lib/loading-container/style/index.scss +27 -27
- package/lib/loading-icon/style/index.scss +23 -23
- package/lib/mask/style/index.scss +34 -34
- package/lib/message/style/index.scss +70 -70
- package/lib/modal/style/index.scss +112 -112
- package/lib/move/__stories__/style.scss +6 -6
- package/lib/move/style/index.scss +7 -7
- package/lib/popover/__stories__/style.scss +15 -15
- package/lib/popover/style/index.scss +59 -59
- package/lib/select/__stories__/style.scss +8 -8
- package/lib/select/style/index.scss +126 -126
- package/lib/show-more/style/index.scss +22 -22
- package/lib/skeleton/__stories__/style.scss +2 -2
- package/lib/skeleton/style/index.scss +26 -26
- package/lib/style.css +15 -15
- package/lib/table/__stories__/style.css +1 -1
- package/lib/table/__stories__/style.scss +33 -2
- package/lib/table/body/BodyRow.d.ts +13 -0
- package/lib/table/body/BodyRow.js +108 -0
- package/lib/table/body/CheckIcon.d.ts +16 -0
- package/lib/table/body/CheckIcon.js +47 -0
- package/lib/table/body/index.d.ts +24 -0
- package/lib/table/body/index.js +73 -0
- package/lib/table/header/CheckIcon.d.ts +13 -0
- package/lib/table/header/CheckIcon.js +49 -0
- package/lib/table/header/HeaderCell.d.ts +18 -0
- package/lib/table/{HeaderCell.js → header/HeaderCell.js} +11 -4
- package/lib/table/header/HeaderRow.d.ts +16 -0
- package/lib/table/header/HeaderRow.js +89 -0
- package/lib/table/index.d.ts +52 -27
- package/lib/table/index.js +177 -155
- package/lib/table/interface.d.ts +16 -3
- package/lib/table/style/index.css +1 -1
- package/lib/table/style/index.scss +51 -70
- package/lib/tabs/__stories__/style.scss +8 -8
- package/lib/tabs/style/index.css +1 -1
- package/lib/tabs/style/index.scss +62 -62
- package/lib/tooltip/style/index.scss +61 -61
- package/lib/trigger/style/index.scss +79 -79
- package/package.json +2 -2
- package/esm/table/BodyCell.d.ts +0 -6
- package/esm/table/BodyCell.js +0 -12
- package/esm/table/HeaderCell.d.ts +0 -13
- package/lib/table/BodyCell.d.ts +0 -6
- package/lib/table/BodyCell.js +0 -22
- package/lib/table/HeaderCell.d.ts +0 -13
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _checkbox = _interopRequireDefault(require("../../checkbox"));
|
|
13
|
+
|
|
14
|
+
function BodyCheckIcon(_a) {
|
|
15
|
+
var cls = _a.prefixCls,
|
|
16
|
+
rowData = _a.rowData,
|
|
17
|
+
rowKey = _a.rowKey,
|
|
18
|
+
rowIndex = _a.rowIndex,
|
|
19
|
+
selectedRowKeys = _a.selectedRowKeys,
|
|
20
|
+
_b = _a.rowSelection,
|
|
21
|
+
checkIcon = _b.checkIcon,
|
|
22
|
+
getDisabled = _b.getDisabled,
|
|
23
|
+
onSelect = _b.onSelect;
|
|
24
|
+
var checked = selectedRowKeys.includes(rowKey);
|
|
25
|
+
|
|
26
|
+
if (checkIcon) {
|
|
27
|
+
return _react.default.createElement("td", null, checkIcon(checked, rowData, rowIndex));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
var disabled = getDisabled(rowData);
|
|
31
|
+
|
|
32
|
+
var onCheckBoxChange = function onCheckBoxChange(checked) {
|
|
33
|
+
onSelect(checked, rowData);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return _react.default.createElement("td", {
|
|
37
|
+
className: cls + "-checkbox"
|
|
38
|
+
}, _react.default.createElement(_checkbox.default, {
|
|
39
|
+
checked: checked,
|
|
40
|
+
disabled: disabled,
|
|
41
|
+
onChange: onCheckBoxChange
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var _default = _react.default.memo(BodyCheckIcon);
|
|
46
|
+
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { ReactText } from 'react';
|
|
2
|
+
import { BodyRowProps } from './BodyRow';
|
|
3
|
+
import { BodyCheckIconProps, BodyRowSelectionInfo } from './CheckIcon';
|
|
4
|
+
import { ColumnOnRenderReturnObjectInfo } from '../interface';
|
|
5
|
+
/**
|
|
6
|
+
* 可展开子列表
|
|
7
|
+
*/
|
|
8
|
+
export interface TableExpandableInfo<T> {
|
|
9
|
+
expandedRowRender: (rowData: T, index: number) => React.ReactNode | React.ReactNode[] | ColumnOnRenderReturnObjectInfo;
|
|
10
|
+
}
|
|
11
|
+
export interface BodyProps<T> extends Pick<BodyRowProps<T>, 'prefixCls' | 'columns'>, Pick<BodyCheckIconProps<T>, 'selectedRowKeys'> {
|
|
12
|
+
/**
|
|
13
|
+
* 表格数据
|
|
14
|
+
*/
|
|
15
|
+
dataSource: T[];
|
|
16
|
+
/**
|
|
17
|
+
* 子列表渲染(不赋值则没有子列表),详见Expandable
|
|
18
|
+
*/
|
|
19
|
+
expandable?: TableExpandableInfo<T>;
|
|
20
|
+
getRowKey: (rowData: T) => ReactText;
|
|
21
|
+
rowSelection: BodyRowSelectionInfo<T>;
|
|
22
|
+
}
|
|
23
|
+
declare function Body<RowDataType>({ prefixCls, columns, dataSource, getRowKey, rowSelection, selectedRowKeys, expandable }: BodyProps<RowDataType>): JSX.Element;
|
|
24
|
+
export default Body;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _BodyRow = _interopRequireDefault(require("./BodyRow"));
|
|
13
|
+
|
|
14
|
+
var _CheckIcon = _interopRequireDefault(require("./CheckIcon"));
|
|
15
|
+
|
|
16
|
+
var noop = function noop() {
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function Body(_a) {
|
|
21
|
+
var prefixCls = _a.prefixCls,
|
|
22
|
+
columns = _a.columns,
|
|
23
|
+
dataSource = _a.dataSource,
|
|
24
|
+
getRowKey = _a.getRowKey,
|
|
25
|
+
rowSelection = _a.rowSelection,
|
|
26
|
+
selectedRowKeys = _a.selectedRowKeys,
|
|
27
|
+
expandable = _a.expandable;
|
|
28
|
+
var rows = [];
|
|
29
|
+
var expandedRowRenderer = expandable ? expandable.expandedRowRender : noop;
|
|
30
|
+
dataSource.forEach(function (row, rowIndex) {
|
|
31
|
+
var rowKey = getRowKey(row);
|
|
32
|
+
var CheckCell = rowSelection ? _react.default.createElement(_CheckIcon.default, {
|
|
33
|
+
prefixCls: prefixCls,
|
|
34
|
+
rowSelection: rowSelection,
|
|
35
|
+
rowKey: rowKey,
|
|
36
|
+
rowData: row,
|
|
37
|
+
rowIndex: rowIndex,
|
|
38
|
+
selectedRowKeys: selectedRowKeys
|
|
39
|
+
}) : null;
|
|
40
|
+
rows.push(_react.default.createElement(_BodyRow.default, {
|
|
41
|
+
key: rowKey,
|
|
42
|
+
prefixCls: prefixCls,
|
|
43
|
+
rowData: row,
|
|
44
|
+
index: rowIndex,
|
|
45
|
+
columns: columns,
|
|
46
|
+
CheckCell: CheckCell,
|
|
47
|
+
indent: 0
|
|
48
|
+
}));
|
|
49
|
+
var expandedRowKey = rowKey + " expanded";
|
|
50
|
+
var expandedColumns = [{
|
|
51
|
+
title: null,
|
|
52
|
+
key: expandedRowKey,
|
|
53
|
+
onRender: expandedRowRenderer
|
|
54
|
+
}];
|
|
55
|
+
|
|
56
|
+
if (expandable) {
|
|
57
|
+
rows.push(_react.default.createElement(_BodyRow.default, {
|
|
58
|
+
key: expandedRowKey,
|
|
59
|
+
className: prefixCls + "-expand-row",
|
|
60
|
+
prefixCls: prefixCls,
|
|
61
|
+
rowData: row,
|
|
62
|
+
index: rowIndex,
|
|
63
|
+
columns: expandedColumns,
|
|
64
|
+
CheckCell: null,
|
|
65
|
+
indent: CheckCell ? 1 : 0
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return _react.default.createElement(_react.default.Fragment, null, rows);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var _default = Body;
|
|
73
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface HeaderRowSelectionInfo {
|
|
3
|
+
checkIcon?: (checked: boolean, rowData: null, index: number) => React.ReactElement;
|
|
4
|
+
selectAllVisible?: boolean;
|
|
5
|
+
selectAllChecked: boolean;
|
|
6
|
+
onSelectAll?: (checked: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
interface HeaderCheckIconProps {
|
|
9
|
+
prefixCls: string;
|
|
10
|
+
rowSelection: HeaderRowSelectionInfo;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: React.NamedExoticComponent<HeaderCheckIconProps>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _checkbox = _interopRequireDefault(require("../../checkbox"));
|
|
13
|
+
|
|
14
|
+
function HeaderCheckIcon(_a) {
|
|
15
|
+
var cls = _a.prefixCls,
|
|
16
|
+
rowSelection = _a.rowSelection;
|
|
17
|
+
|
|
18
|
+
if (!rowSelection) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!rowSelection.selectAllVisible) {
|
|
23
|
+
// 有勾选功能,但是没有全选功能,需有占位元素
|
|
24
|
+
return _react.default.createElement("th", null, " ");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var checkIcon = rowSelection.checkIcon,
|
|
28
|
+
selectAllChecked = rowSelection.selectAllChecked,
|
|
29
|
+
onSelectAll = rowSelection.onSelectAll;
|
|
30
|
+
|
|
31
|
+
if (checkIcon) {
|
|
32
|
+
return _react.default.createElement("th", null, checkIcon(selectAllChecked, null, -1));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var onCheckBoxChange = function onCheckBoxChange() {
|
|
36
|
+
onSelectAll(!selectAllChecked);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return _react.default.createElement("th", {
|
|
40
|
+
className: cls + "-checkbox"
|
|
41
|
+
}, _react.default.createElement(_checkbox.default, {
|
|
42
|
+
checked: selectAllChecked,
|
|
43
|
+
onChange: onCheckBoxChange
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var _default = _react.default.memo(HeaderCheckIcon);
|
|
48
|
+
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Column } from '../interface';
|
|
3
|
+
export interface HeaderCellProps<T> extends Column<T> {
|
|
4
|
+
prefixCls: string;
|
|
5
|
+
isSort: boolean;
|
|
6
|
+
isSortedDescending?: boolean;
|
|
7
|
+
onSort: (sortColumn: string) => void;
|
|
8
|
+
/**
|
|
9
|
+
* 自定义排序图标,若不传,则采用默认的排序图标
|
|
10
|
+
* @param isSortDesc
|
|
11
|
+
*/
|
|
12
|
+
sortIcon?: (isSortDesc: boolean) => React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export default class HeaderCell<RowDataType> extends React.PureComponent<HeaderCellProps<RowDataType>> {
|
|
15
|
+
onClick: () => void;
|
|
16
|
+
renderArrow: () => {};
|
|
17
|
+
render(): JSX.Element;
|
|
18
|
+
}
|
|
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
|
|
14
|
-
var _icon = _interopRequireDefault(require("
|
|
14
|
+
var _icon = _interopRequireDefault(require("../../icon"));
|
|
15
15
|
|
|
16
16
|
var __extends = void 0 && (void 0).__extends || function () {
|
|
17
17
|
var _extendStatics = function extendStatics(d, b) {
|
|
@@ -61,12 +61,17 @@ function (_super) {
|
|
|
61
61
|
var _a = _this.props,
|
|
62
62
|
prefixCls = _a.prefixCls,
|
|
63
63
|
isSort = _a.isSort,
|
|
64
|
-
isSortedDescending = _a.isSortedDescending
|
|
64
|
+
isSortedDescending = _a.isSortedDescending,
|
|
65
|
+
sortIcon = _a.sortIcon;
|
|
65
66
|
|
|
66
67
|
if (!isSort) {
|
|
67
68
|
return null;
|
|
68
69
|
}
|
|
69
70
|
|
|
71
|
+
if (sortIcon) {
|
|
72
|
+
return sortIcon(isSortedDescending);
|
|
73
|
+
}
|
|
74
|
+
|
|
70
75
|
return _react.default.createElement(_icon.default, {
|
|
71
76
|
className: prefixCls + "-arrow",
|
|
72
77
|
name: "arrow",
|
|
@@ -83,11 +88,13 @@ function (_super) {
|
|
|
83
88
|
|
|
84
89
|
var _b = this.props,
|
|
85
90
|
prefixCls = _b.prefixCls,
|
|
91
|
+
className = _b.className,
|
|
86
92
|
title = _b.title,
|
|
87
93
|
sortName = _b.sortName,
|
|
88
|
-
|
|
94
|
+
colSpan = _b.colSpan;
|
|
89
95
|
return _react.default.createElement("th", {
|
|
90
|
-
|
|
96
|
+
className: className,
|
|
97
|
+
colSpan: colSpan
|
|
91
98
|
}, _react.default.createElement("div", {
|
|
92
99
|
className: (0, _classnames.default)(prefixCls + "-title", (_a = {}, _a[prefixCls + "-point"] = sortName, _a)),
|
|
93
100
|
onClick: this.onClick
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Column } from '../interface';
|
|
2
|
+
import { HeaderCellProps } from './HeaderCell';
|
|
3
|
+
import { HeaderRowSelectionInfo } from './CheckIcon';
|
|
4
|
+
export interface HeaderRowProps<T> extends Pick<HeaderCellProps<T>, 'sortName' | 'isSortedDescending' | 'sortIcon'> {
|
|
5
|
+
prefixCls: string;
|
|
6
|
+
columns: Column<T>[];
|
|
7
|
+
/**
|
|
8
|
+
* 点击表头触发的排序函数
|
|
9
|
+
* @param isSortedDescending
|
|
10
|
+
* @param sortName
|
|
11
|
+
*/
|
|
12
|
+
onSortChange?: (isSortedDescending: boolean, sortName: string) => void;
|
|
13
|
+
rowSelection: HeaderRowSelectionInfo;
|
|
14
|
+
}
|
|
15
|
+
declare function HeaderRow<RowDataType>({ prefixCls: cls, columns, rowSelection, sortName, isSortedDescending, onSortChange, sortIcon }: HeaderRowProps<RowDataType>): JSX.Element;
|
|
16
|
+
export default HeaderRow;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _HeaderCell = _interopRequireDefault(require("./HeaderCell"));
|
|
13
|
+
|
|
14
|
+
var _CheckIcon = _interopRequireDefault(require("./CheckIcon"));
|
|
15
|
+
|
|
16
|
+
var __assign = void 0 && (void 0).__assign || function () {
|
|
17
|
+
__assign = Object.assign || function (t) {
|
|
18
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19
|
+
s = arguments[i];
|
|
20
|
+
|
|
21
|
+
for (var p in s) {
|
|
22
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return t;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return __assign.apply(this, arguments);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function parseHeaderRows(columns) {
|
|
33
|
+
var rows = [];
|
|
34
|
+
columns.forEach(function (col) {
|
|
35
|
+
if ('colSpan' in col && col.colSpan === 0) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
rows.push(__assign(__assign({}, col), {
|
|
40
|
+
colSpan: col.colSpan ? col.colSpan : 1
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
return rows;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function HeaderRow(_a) {
|
|
47
|
+
var cls = _a.prefixCls,
|
|
48
|
+
columns = _a.columns,
|
|
49
|
+
rowSelection = _a.rowSelection,
|
|
50
|
+
sortName = _a.sortName,
|
|
51
|
+
isSortedDescending = _a.isSortedDescending,
|
|
52
|
+
onSortChange = _a.onSortChange,
|
|
53
|
+
sortIcon = _a.sortIcon;
|
|
54
|
+
/**
|
|
55
|
+
* 点击某一列的表头,触发排序
|
|
56
|
+
* @param name
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
var onSort = function onSort(name) {
|
|
60
|
+
if (!onSortChange) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var isSortedDesc = sortName === name ? !isSortedDescending : true;
|
|
65
|
+
onSortChange(isSortedDesc, name);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
var rows = _react.default.useMemo(function () {
|
|
69
|
+
return parseHeaderRows(columns);
|
|
70
|
+
}, [columns]);
|
|
71
|
+
|
|
72
|
+
return _react.default.createElement("tr", null, _react.default.createElement(_CheckIcon.default, {
|
|
73
|
+
prefixCls: cls,
|
|
74
|
+
rowSelection: rowSelection
|
|
75
|
+
}), rows.map(function (item) {
|
|
76
|
+
return _react.default.createElement(_HeaderCell.default, __assign({
|
|
77
|
+
key: item.key
|
|
78
|
+
}, item, {
|
|
79
|
+
prefixCls: cls,
|
|
80
|
+
isSort: sortName && sortName === item.sortName,
|
|
81
|
+
isSortedDescending: isSortedDescending,
|
|
82
|
+
onSort: onSort,
|
|
83
|
+
sortIcon: sortIcon
|
|
84
|
+
}));
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
var _default = HeaderRow;
|
|
89
|
+
exports.default = _default;
|
package/lib/table/index.d.ts
CHANGED
|
@@ -1,23 +1,31 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactText } from 'react';
|
|
2
2
|
import { AddListenerEventHandler } from '@autobest-ui/utils';
|
|
3
3
|
import { Column } from './interface';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { HeaderRowProps } from './header/HeaderRow';
|
|
5
|
+
import { BodyProps } from './body';
|
|
6
|
+
import { HeaderRowSelectionInfo } from './header/CheckIcon';
|
|
7
|
+
import { BodyRowSelectionInfo } from './body/CheckIcon';
|
|
8
|
+
export interface RowSelectionInfo<T> extends Partial<Pick<HeaderRowSelectionInfo, 'selectAllVisible' | 'onSelectAll'>>, Partial<Pick<BodyRowSelectionInfo<T>, 'checkIcon'>> {
|
|
9
|
+
defaultSelectedRowKeys?: ReactText[];
|
|
10
|
+
getDisabled?: (dataRow: any, selectedRowKeys: ReactText[], selectedRows: T[]) => boolean;
|
|
11
|
+
onSelect?: (checked: boolean, rowData: T, selectedRows: T[]) => void;
|
|
12
|
+
onSelectedRowChange?: (selectedRowKeys: ReactText[], selectedRows: T[]) => void;
|
|
13
|
+
}
|
|
14
|
+
declare type StateRowSelectionInfo<T> = Pick<HeaderRowSelectionInfo, 'selectAllVisible' | 'selectAllChecked' | 'onSelectAll'> & Pick<BodyRowSelectionInfo<T>, 'checkIcon' | 'getDisabled' | 'onSelect'>;
|
|
15
|
+
export interface TableProps<T> extends Pick<HeaderRowProps<T>, 'sortName' | 'sortIcon' | 'onSortChange' | 'isSortedDescending'>, Pick<BodyProps<T>, 'dataSource' | 'expandable'> {
|
|
9
16
|
/**
|
|
10
|
-
*
|
|
17
|
+
* 样式名
|
|
11
18
|
*/
|
|
12
|
-
|
|
19
|
+
className?: string;
|
|
13
20
|
/**
|
|
14
|
-
*
|
|
21
|
+
* 定义每一列数据的格式
|
|
22
|
+
* 具体类型见Column
|
|
15
23
|
*/
|
|
16
|
-
|
|
24
|
+
columns: Column<T>[];
|
|
17
25
|
/**
|
|
18
|
-
*
|
|
26
|
+
* 获取单条记录的唯一主键; 若是string类型,则取当前行数据中对应名称的属性值; 若是函数,则传入当前行数据,获取rowKey值;这也是勾选功能匹配时所用的key值
|
|
19
27
|
*/
|
|
20
|
-
|
|
28
|
+
rowKey?: string | ((rowData: T) => ReactText);
|
|
21
29
|
/**
|
|
22
30
|
* 是否固定表头
|
|
23
31
|
*/
|
|
@@ -26,7 +34,14 @@ export interface TableProps {
|
|
|
26
34
|
* 最大高度,fixedHeader为true时生效
|
|
27
35
|
*/
|
|
28
36
|
maxHeight?: string;
|
|
37
|
+
/**
|
|
38
|
+
* 为true时,Table会显示loading样式
|
|
39
|
+
*/
|
|
29
40
|
loading?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* 表格行是否可勾选,详见RowSelection
|
|
43
|
+
*/
|
|
44
|
+
rowSelection?: RowSelectionInfo<T>;
|
|
30
45
|
/**
|
|
31
46
|
* 默认勾选项数组, 以primaryKey取值
|
|
32
47
|
*/
|
|
@@ -48,43 +63,53 @@ export interface TableProps {
|
|
|
48
63
|
*/
|
|
49
64
|
isSortedDescending?: boolean;
|
|
50
65
|
}
|
|
51
|
-
interface TableState {
|
|
52
|
-
|
|
53
|
-
|
|
66
|
+
interface TableState<T> {
|
|
67
|
+
selectedRowKeys: ReactText[];
|
|
68
|
+
selectedRows: T[];
|
|
69
|
+
rowSelection: StateRowSelectionInfo<T>;
|
|
54
70
|
}
|
|
55
|
-
declare class Table extends React.Component<TableProps
|
|
71
|
+
declare class Table<RowDataType> extends React.Component<TableProps<RowDataType>, TableState<RowDataType>> {
|
|
56
72
|
prefixCls: string;
|
|
57
73
|
headerRef: React.RefObject<HTMLDivElement>;
|
|
58
74
|
bodyRef: React.RefObject<HTMLDivElement>;
|
|
59
75
|
scrollHandler: AddListenerEventHandler;
|
|
76
|
+
getRowKey: (rowData: RowDataType) => ReactText;
|
|
60
77
|
static defaultProps: {
|
|
61
78
|
fixedHeader: boolean;
|
|
62
79
|
loading: boolean;
|
|
80
|
+
rowKey: string;
|
|
63
81
|
};
|
|
64
|
-
|
|
82
|
+
readonly defaultRowSelection: Pick<StateRowSelectionInfo<RowDataType>, 'selectAllVisible' | 'selectAllChecked' | 'getDisabled'>;
|
|
83
|
+
constructor(props: TableProps<RowDataType>);
|
|
65
84
|
/**
|
|
66
85
|
* 清空选项
|
|
67
86
|
*/
|
|
68
87
|
clearSelection: () => void;
|
|
69
88
|
componentDidMount(): void;
|
|
70
|
-
componentDidUpdate(): void;
|
|
71
89
|
componentWillUnmount(): void;
|
|
72
90
|
addScrollListener: () => void;
|
|
91
|
+
getSelectedRows: (selectedKeys: any) => any;
|
|
73
92
|
/**
|
|
74
93
|
* 点击表头的checkbox,全选或全不选
|
|
75
94
|
*/
|
|
76
|
-
onSelectAll: () => void;
|
|
95
|
+
onSelectAll: (checked: any) => void;
|
|
77
96
|
/**
|
|
78
97
|
* 点击某一行的checkbook
|
|
79
98
|
* @param visible
|
|
80
|
-
* @param
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
99
|
+
* @param rowData
|
|
100
|
+
*/
|
|
101
|
+
onSelect: (visible: boolean, rowData: RowDataType) => void;
|
|
102
|
+
getDisabled: (rowData: any) => boolean;
|
|
103
|
+
getRowSelection: () => {
|
|
104
|
+
onSelect: (visible: boolean, rowData: RowDataType) => void;
|
|
105
|
+
onSelectAll: (checked: any) => void;
|
|
106
|
+
getDisabled: (rowData: any) => boolean;
|
|
107
|
+
defaultSelectedRowKeys?: (string | number)[];
|
|
108
|
+
onSelectedRowChange?: (selectedRowKeys: (string | number)[], selectedRows: RowDataType[]) => void;
|
|
109
|
+
selectAllVisible?: boolean;
|
|
110
|
+
checkIcon?: (checked: boolean, rowData: RowDataType, index: number) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)>) | (new (props: any) => React.Component<any, any, any>)>;
|
|
111
|
+
selectAllChecked: boolean;
|
|
112
|
+
};
|
|
88
113
|
/**
|
|
89
114
|
* 用colgroup设置每一列的宽度
|
|
90
115
|
*/
|