@pinnacle0/web-ui 0.3.1 → 0.3.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/core/VirtualTable/index.d.ts +21 -2
- package/core/VirtualTable/index.js +5 -3
- package/core/VirtualTable/index.js.map +1 -1
- package/core/VirtualTable/index.less +3 -2
- package/core/VirtualTable/useRowSelection.js +35 -8
- package/core/VirtualTable/useRowSelection.js.map +1 -1
- package/core/VirtualTable/useScrollToEdge.js +9 -5
- package/core/VirtualTable/useScrollToEdge.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,18 +5,34 @@ export declare type VirtualTableRowSelection<RowType extends object> = {
|
|
|
5
5
|
width: number;
|
|
6
6
|
selectedRowKeys: React.Key[];
|
|
7
7
|
onChange: (selectedRowKeys: React.Key[], selectedRows: RowType[]) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Can only sticky in left
|
|
10
|
+
*/
|
|
8
11
|
fixed?: boolean;
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
isDisabled?: (data: RowType, rowIndex: number) => boolean;
|
|
13
|
+
isSelectAllDisabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Attention:
|
|
16
|
+
* If title is provided, the select all checkbox wil be overridden
|
|
17
|
+
*/
|
|
11
18
|
title?: React.ReactElement | React.ReactChild;
|
|
12
19
|
};
|
|
13
20
|
export declare type VirtualTableColumn<RowType extends object> = {
|
|
14
21
|
title: React.ReactElement | React.ReactChild;
|
|
15
22
|
width: number;
|
|
23
|
+
/**
|
|
24
|
+
* Attention:
|
|
25
|
+
* If renderData return null, the corresponding table cell will not render
|
|
26
|
+
*/
|
|
16
27
|
renderData: (record: RowType, rowIndex: number) => SafeReactChildren | undefined;
|
|
17
28
|
align?: "left" | "right" | "center";
|
|
18
29
|
display?: "default" | "hidden";
|
|
19
30
|
fixed?: "left" | "right";
|
|
31
|
+
/**
|
|
32
|
+
* Attention:
|
|
33
|
+
* The overridden cell should return null in renderData props:
|
|
34
|
+
* e.g. [{colSpan: 3, renderData: () => <div />}, {renderData: () => null}], {renderData: () => null}
|
|
35
|
+
*/
|
|
20
36
|
colSpan?: (record: RowType, rowIndex: number, colIndex: number) => number;
|
|
21
37
|
};
|
|
22
38
|
export interface VirtualTableProps<RowType extends object> {
|
|
@@ -26,6 +42,9 @@ export interface VirtualTableProps<RowType extends object> {
|
|
|
26
42
|
rowHeight: number | ((rowIndex: number) => number);
|
|
27
43
|
className?: string;
|
|
28
44
|
rowClassName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* if scrollX is not provided, width: 100% will be used
|
|
47
|
+
*/
|
|
29
48
|
scrollX?: number;
|
|
30
49
|
loading?: boolean;
|
|
31
50
|
emptyPlaceholder?: SafeReactChild;
|
|
@@ -42,6 +42,7 @@ import { useRowSelection } from "./useRowSelection";
|
|
|
42
42
|
import { useScrollToEdge } from "./useScrollToEdge";
|
|
43
43
|
import "./index.less";
|
|
44
44
|
var headerHeight = 50;
|
|
45
|
+
// TODO/David: handle for different size of scrollbar
|
|
45
46
|
var scrollBarSize = 10;
|
|
46
47
|
export var VirtualTable = Object.assign(function (_a) {
|
|
47
48
|
var columns = _a.columns, rowHeight = _a.rowHeight, scrollY = _a.scrollY, dataSource = _a.dataSource, className = _a.className, rowClassName = _a.rowClassName, loading = _a.loading, emptyPlaceholder = _a.emptyPlaceholder, rowSelection = _a.rowSelection, scrollX = _a.scrollX, _b = _a.rowKey, rowKey = _b === void 0 ? "index" : _b;
|
|
@@ -49,7 +50,7 @@ export var VirtualTable = Object.assign(function (_a) {
|
|
|
49
50
|
var scrollContentRef = React.useRef(null);
|
|
50
51
|
var estimateSize = React.useCallback(function (rowIndex) { return (typeof rowHeight === "function" ? rowHeight(rowIndex) : rowHeight); }, [rowHeight]);
|
|
51
52
|
var transformedColumns = useRowSelection({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey });
|
|
52
|
-
var _c = useVirtual({ size: size, parentRef: scrollContentRef, estimateSize: estimateSize
|
|
53
|
+
var _c = useVirtual({ size: size, parentRef: scrollContentRef, estimateSize: estimateSize }), virtualItems = _c.virtualItems, totalSize = _c.totalSize;
|
|
53
54
|
var _d = useScrollToEdge(scrollContentRef), onScroll = _d.onScroll, isScrollToLeft = _d.isScrollToLeft, isScrollToRight = _d.isScrollToRight;
|
|
54
55
|
var _e = __read(React.useState([]), 2), colWidths = _e[0], setColWidths = _e[1];
|
|
55
56
|
var headersRef = React.useRef(null);
|
|
@@ -104,9 +105,10 @@ export var VirtualTable = Object.assign(function (_a) {
|
|
|
104
105
|
}, [isScrollable]);
|
|
105
106
|
return (React.createElement("div", { className: ["g-virtual-table", className].join(" "), style: { width: scrollX || "100%" } }, React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: scrollContainerHeight }, onScroll: onScroll },
|
|
106
107
|
React.createElement("div", { className: "table", style: { height: totalSize } },
|
|
107
|
-
React.createElement("div", { className: "table-headers", ref: headersRef, style: { height: headerHeight
|
|
108
|
+
React.createElement("div", { className: "table-headers", ref: headersRef, style: { height: headerHeight } }, transformedColumns.map(function (_a, columnIndex) {
|
|
108
109
|
var title = _a.title, width = _a.width, align = _a.align, fixed = _a.fixed, display = _a.display;
|
|
109
|
-
|
|
110
|
+
var headerStyle = __assign({ display: display !== "hidden" ? "flex" : "none", flex: !isReady ? "1 0 ".concat(width, "px") : undefined, width: !isReady ? undefined : colWidths[columnIndex], textAlign: align }, getFixedColStyle(fixed, columnIndex));
|
|
111
|
+
return (React.createElement("div", { className: __spreadArray(["table-header"], __read(getFixedColClassNames(fixed, columnIndex)), false).join(" "), key: columnIndex, style: headerStyle }, title));
|
|
110
112
|
})),
|
|
111
113
|
React.createElement("div", { className: "table-body", style: { height: "calc(100% - ".concat(headerHeight, "px)") } }, loading ? (React.createElement(Spin, { spinning: loading })) : dataSource.length === 0 ? (emptyPlaceholder || "暂无数据") : (isReady &&
|
|
112
114
|
virtualItems.map(function (virtualItem) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,11 +26,9 @@
|
|
|
26
26
|
position: relative;
|
|
27
27
|
|
|
28
28
|
.scroll-content {
|
|
29
|
-
width: 100%;
|
|
30
29
|
overflow: auto;
|
|
31
30
|
|
|
32
31
|
.table {
|
|
33
|
-
position: relative;
|
|
34
32
|
min-height: 100%;
|
|
35
33
|
|
|
36
34
|
.table-headers {
|
|
@@ -39,6 +37,8 @@
|
|
|
39
37
|
position: sticky;
|
|
40
38
|
top: 0;
|
|
41
39
|
z-index: 10;
|
|
40
|
+
min-width: 100%;
|
|
41
|
+
width: max-content;
|
|
42
42
|
|
|
43
43
|
.table-header {
|
|
44
44
|
display: flex;
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
display: flex;
|
|
90
90
|
justify-content: center;
|
|
91
91
|
align-items: center;
|
|
92
|
+
position: relative;
|
|
92
93
|
|
|
93
94
|
.table-row {
|
|
94
95
|
display: flex;
|
|
@@ -32,20 +32,47 @@ export var useRowSelection = function (_a) {
|
|
|
32
32
|
if (!rowSelection) {
|
|
33
33
|
return __spreadArray([], __read(columns), false);
|
|
34
34
|
}
|
|
35
|
-
var width = rowSelection.width, onChange = rowSelection.onChange, selectedRowKeys = rowSelection.selectedRowKeys, fixed = rowSelection.fixed,
|
|
35
|
+
var width = rowSelection.width, onChange = rowSelection.onChange, selectedRowKeys = rowSelection.selectedRowKeys, fixed = rowSelection.fixed, isDisabled = rowSelection.isDisabled, isSelectAllDisabled = rowSelection.isSelectAllDisabled, title = rowSelection.title;
|
|
36
|
+
var allSelectionRowKeys = [];
|
|
37
|
+
var allSelectionRows = [];
|
|
38
|
+
var unAllSelectionRowKeys = [];
|
|
39
|
+
var unAllSelectionRows = [];
|
|
40
|
+
var enabledRowKeys = [];
|
|
41
|
+
var enabledCheckedRowKeys = [];
|
|
42
|
+
dataSource.forEach(function (data, rowIndex) {
|
|
43
|
+
var key = rowKey === "index" ? rowIndex : data[rowKey];
|
|
44
|
+
var isSelected = selectedRowKeys.findIndex(function (_) { return _ === key; }) !== -1;
|
|
45
|
+
var isDisabledRow = (isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(data, rowIndex)) || false;
|
|
46
|
+
if (isDisabledRow) {
|
|
47
|
+
if (isSelected) {
|
|
48
|
+
allSelectionRowKeys.push(key);
|
|
49
|
+
allSelectionRows.push(data[rowIndex]);
|
|
50
|
+
unAllSelectionRowKeys.push(key);
|
|
51
|
+
unAllSelectionRows.push(data[rowIndex]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
enabledRowKeys.push(key);
|
|
56
|
+
isSelected && enabledCheckedRowKeys.push(key);
|
|
57
|
+
allSelectionRowKeys.push(key);
|
|
58
|
+
allSelectionRows.push(data[rowIndex]);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
36
61
|
var onSelectAll = function (val) {
|
|
37
|
-
|
|
38
|
-
val ? onChange(allSelectedRowKeys, dataSource) : onChange([], []);
|
|
62
|
+
return val ? onChange(allSelectionRowKeys, allSelectionRows) : onChange(unAllSelectionRowKeys, unAllSelectionRows);
|
|
39
63
|
};
|
|
64
|
+
var isAllSelectionDisabled = isSelectAllDisabled || enabledRowKeys.length === 0;
|
|
65
|
+
var isAllSelected = enabledRowKeys.length === enabledCheckedRowKeys.length;
|
|
66
|
+
var isIndeterminate = enabledCheckedRowKeys.length > 0 && !isAllSelected;
|
|
40
67
|
var rowSelectionColumn = {
|
|
41
68
|
width: width,
|
|
42
69
|
fixed: fixed ? "left" : undefined,
|
|
43
|
-
title: title ||
|
|
70
|
+
title: title || React.createElement(Checkbox, { disabled: isAllSelectionDisabled, indeterminate: isIndeterminate, onChange: onSelectAll, value: isAllSelected }),
|
|
44
71
|
renderData: function (data, rowIndex) {
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
return (React.createElement(Checkbox, { disabled:
|
|
72
|
+
var key = rowKey === "index" ? rowIndex : data[rowKey];
|
|
73
|
+
var toggledSelectedRowKeys = ArrayUtil.toggleElement(selectedRowKeys, key);
|
|
74
|
+
var isChecked = selectedRowKeys.findIndex(function (_) { return _ === key; }) !== -1;
|
|
75
|
+
return (React.createElement(Checkbox, { disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(data, rowIndex), value: isChecked, onChange: function () {
|
|
49
76
|
return onChange(toggledSelectedRowKeys, dataSource.filter(function (_, idx) { return toggledSelectedRowKeys.includes(rowKey ? _[rowKey] : idx); }));
|
|
50
77
|
} }));
|
|
51
78
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useRowSelection.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAUnD,MAAM,CAAC,IAAM,eAAe,GAAG,UAAkC,EAA2D;QAA1D,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,MAAM,YAAA;IACvG,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE;YACf,gCAAW,OAAO,UAAE;SACvB;QAEM,IAAA,KAAK,
|
|
1
|
+
{"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useRowSelection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,13 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
14
14
|
}
|
|
15
15
|
return ar;
|
|
16
16
|
};
|
|
17
|
-
import React from "react";
|
|
17
|
+
import React, { useEffect } from "react";
|
|
18
18
|
export var useScrollToEdge = function (scrollContentRef) {
|
|
19
|
-
var _a = __read(React.useState(
|
|
19
|
+
var _a = __read(React.useState(false), 2), isScrollToLeft = _a[0], setIsScrollToLeft = _a[1];
|
|
20
20
|
var _b = __read(React.useState(false), 2), isScrollToRight = _b[0], setIsScrollToRight = _b[1];
|
|
21
|
-
var _c = __read(React.useState(
|
|
21
|
+
var _c = __read(React.useState(false), 2), isScrollToTop = _c[0], setIsScrollToTop = _c[1];
|
|
22
22
|
var _d = __read(React.useState(false), 2), isScrollToBottom = _d[0], setIsScrollToBottom = _d[1];
|
|
23
|
-
var
|
|
23
|
+
var isScrollToEdge = React.useCallback(function () {
|
|
24
24
|
var isScrollLeft = scrollContentRef.current ? scrollContentRef.current.scrollLeft <= 1 : false;
|
|
25
25
|
var isScrollRight = scrollContentRef.current ? scrollContentRef.current.scrollLeft >= scrollContentRef.current.scrollWidth - scrollContentRef.current.clientWidth : false;
|
|
26
26
|
var isScrollTop = scrollContentRef.current ? scrollContentRef.current.scrollTop <= 1 : false;
|
|
@@ -30,8 +30,12 @@ export var useScrollToEdge = function (scrollContentRef) {
|
|
|
30
30
|
setIsScrollToTop(isScrollTop);
|
|
31
31
|
setIsScrollToBottom(isScrollBottom);
|
|
32
32
|
}, [scrollContentRef]);
|
|
33
|
+
// initialize
|
|
34
|
+
useEffect(function () {
|
|
35
|
+
isScrollToEdge();
|
|
36
|
+
}, [isScrollToEdge]);
|
|
33
37
|
return {
|
|
34
|
-
onScroll:
|
|
38
|
+
onScroll: isScrollToEdge,
|
|
35
39
|
isScrollToLeft: isScrollToLeft,
|
|
36
40
|
isScrollToRight: isScrollToRight,
|
|
37
41
|
isScrollToTop: isScrollToTop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useScrollToEdge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/useScrollToEdge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEvC,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,gBAA8C;IACpE,IAAA,KAAA,OAAsC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA1D,cAAc,QAAA,EAAE,iBAAiB,QAAyB,CAAC;IAC5D,IAAA,KAAA,OAAwC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA5D,eAAe,QAAA,EAAE,kBAAkB,QAAyB,CAAC;IAC9D,IAAA,KAAA,OAAoC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAAxD,aAAa,QAAA,EAAE,gBAAgB,QAAyB,CAAC;IAC1D,IAAA,KAAA,OAA0C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA9D,gBAAgB,QAAA,EAAE,mBAAmB,QAAyB,CAAC;IAEtE,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjG,IAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5K,IAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/F,IAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9K,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,aAAa;IACb,SAAS,CAAC;QACN,cAAc,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO;QACH,QAAQ,EAAE,cAAc;QACxB,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pinnacle0/web-ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"author": "Pinnacle",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": [
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"react-router-dom": ">=5.2.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/core": "7.17.
|
|
40
|
-
"@babel/runtime": "7.17.
|
|
39
|
+
"@babel/core": "7.17.9",
|
|
40
|
+
"@babel/runtime": "7.17.9",
|
|
41
41
|
"@testing-library/dom": "8.13.0",
|
|
42
42
|
"@testing-library/jest-dom": "5.16.4",
|
|
43
43
|
"@testing-library/react": "13.1.1",
|