@pinnacle0/web-ui 0.3.69 → 0.3.71
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/ResizeObserverPolyfill.d.ts +1 -0
- package/core/ResizeObserverPolyfill.js +53 -0
- package/core/ResizeObserverPolyfill.js.map +1 -0
- package/core/VirtualList.d.ts +25 -0
- package/core/VirtualList.js +49 -0
- package/core/VirtualList.js.map +1 -0
- package/core/VirtualTable/TableHeader.d.ts +4 -7
- package/core/VirtualTable/TableHeader.js +8 -35
- package/core/VirtualTable/TableHeader.js.map +1 -1
- package/core/VirtualTable/TableRow.d.ts +5 -10
- package/core/VirtualTable/TableRow.js +21 -30
- package/core/VirtualTable/TableRow.js.map +1 -1
- package/core/VirtualTable/hooks/useColumns.d.ts +32 -0
- package/core/VirtualTable/hooks/useColumns.js +112 -0
- package/core/VirtualTable/hooks/useColumns.js.map +1 -0
- package/core/VirtualTable/hooks/useScroll.d.ts +17 -0
- package/core/VirtualTable/hooks/useScroll.js +57 -0
- package/core/VirtualTable/hooks/useScroll.js.map +1 -0
- package/core/VirtualTable/index.d.ts +5 -7
- package/core/VirtualTable/index.js +38 -72
- package/core/VirtualTable/index.js.map +1 -1
- package/core/VirtualTable/index.less +18 -18
- package/core/VirtualTable/type.d.ts +0 -13
- package/{core/VirtualTable/hooks → hooks}/useDebounce.d.ts +0 -0
- package/{core/VirtualTable/hooks → hooks}/useDebounce.js +0 -0
- package/hooks/useDebounce.js.map +1 -0
- package/package.json +3 -1
- package/core/VirtualTable/hooks/useColumnWidths.d.ts +0 -11
- package/core/VirtualTable/hooks/useColumnWidths.js +0 -38
- package/core/VirtualTable/hooks/useColumnWidths.js.map +0 -1
- package/core/VirtualTable/hooks/useDebounce.js.map +0 -1
- package/core/VirtualTable/hooks/useLayout.d.ts +0 -17
- package/core/VirtualTable/hooks/useLayout.js +0 -44
- package/core/VirtualTable/hooks/useLayout.js.map +0 -1
- package/core/VirtualTable/hooks/useRowExpand.d.ts +0 -7
- package/core/VirtualTable/hooks/useRowExpand.js +0 -20
- package/core/VirtualTable/hooks/useRowExpand.js.map +0 -1
- package/core/VirtualTable/hooks/useScrollBarSize.d.ts +0 -5
- package/core/VirtualTable/hooks/useScrollBarSize.js +0 -36
- package/core/VirtualTable/hooks/useScrollBarSize.js.map +0 -1
- package/core/VirtualTable/hooks/useScrollToEdge.d.ts +0 -8
- package/core/VirtualTable/hooks/useScrollToEdge.js +0 -48
- package/core/VirtualTable/hooks/useScrollToEdge.js.map +0 -1
- package/core/VirtualTable/hooks/useStickyPosition.d.ts +0 -2
- package/core/VirtualTable/hooks/useStickyPosition.js +0 -24
- package/core/VirtualTable/hooks/useStickyPosition.js.map +0 -1
- package/core/VirtualTable/hooks/useTransformColumn.d.ts +0 -11
- package/core/VirtualTable/hooks/useTransformColumn.js +0 -9
- package/core/VirtualTable/hooks/useTransformColumn.js.map +0 -1
|
@@ -1,87 +1,53 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
-
if (ar || !(i in from)) {
|
|
20
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
-
ar[i] = from[i];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
-
};
|
|
26
1
|
import React from "react";
|
|
27
|
-
import {
|
|
2
|
+
import { useVirtualizer, observeElementRect } from "@tanstack/react-virtual";
|
|
28
3
|
import { classNames } from "../../util/ClassNames";
|
|
29
4
|
import { Spin } from "../Spin";
|
|
30
|
-
import { useLayout } from "./hooks/useLayout";
|
|
31
|
-
import { useTransformColumn } from "./hooks/useTransformColumn";
|
|
32
5
|
import { TableRow } from "./TableRow";
|
|
33
6
|
import { TableHeader } from "./TableHeader";
|
|
7
|
+
import { useRowSelection } from "./hooks/useRowSelection";
|
|
8
|
+
import { useColumns } from "./hooks/useColumns";
|
|
9
|
+
import { useScroll } from "./hooks/useScroll";
|
|
34
10
|
import "./index.less";
|
|
35
|
-
var HORIZONTAL_SCROLL_BAR_HEIGHT =
|
|
11
|
+
var HORIZONTAL_SCROLL_BAR_HEIGHT = 15;
|
|
36
12
|
export var VirtualTable = Object.assign(function (_a) {
|
|
37
|
-
var columns = _a.columns, rowHeight = _a.rowHeight,
|
|
38
|
-
var
|
|
13
|
+
var columns = _a.columns, rowHeight = _a.rowHeight, dataSource = _a.dataSource, className = _a.className, rowClassName = _a.rowClassName, loading = _a.loading, emptyPlaceholder = _a.emptyPlaceholder, onRowClick = _a.onRowClick, scrollY = _a.scrollY, scrollX = _a.scrollX, rowSelection = _a.rowSelection, _b = _a.headerHeight, headerHeight = _b === void 0 ? 50 : _b, _c = _a.rowKey, rowKey = _c === void 0 ? "index" : _c;
|
|
14
|
+
var count = dataSource.length;
|
|
39
15
|
var scrollContentRef = React.useRef(null);
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
size: size,
|
|
45
|
-
parentRef: scrollContentRef,
|
|
46
|
-
estimateSize: estimateSize,
|
|
47
|
-
overscan: overscan,
|
|
48
|
-
}), virtualItems = _d.virtualItems, totalSize = _d.totalSize;
|
|
49
|
-
var transformedColumns = useTransformColumn({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey, rowExpand: rowExpand });
|
|
50
|
-
var isScrollable = totalSize > scrollY;
|
|
51
|
-
var _e = useLayout({ headersRef: headersRef, scrollContentRef: scrollContentRef, isScrollable: isScrollable, columns: transformedColumns }), scrollBarSize = _e.scrollBarSize, stickyPosition = _e.stickyPosition, columnWidths = _e.columnWidths, isScrollToEdge = _e.isScrollToEdge, isScrollToLeft = _e.isScrollToLeft, isScrollToRight = _e.isScrollToRight;
|
|
52
|
-
var isHorizontalScrollable = React.useMemo(function () { return (scrollContentRef.current ? columnWidths.reduce(function (acc, curr) { return acc + curr; }, 0) > scrollContentRef.current.offsetWidth : false); }, [columnWidths]);
|
|
53
|
-
var tableHeight = scrollY + headerHeight + (isHorizontalScrollable ? HORIZONTAL_SCROLL_BAR_HEIGHT : 0);
|
|
54
|
-
var tableBodyHeight = scrollY + (isHorizontalScrollable ? HORIZONTAL_SCROLL_BAR_HEIGHT : 0);
|
|
16
|
+
var totalSize = count * rowHeight;
|
|
17
|
+
var isVerticalScrollable = scrollContentRef.current ? totalSize > scrollContentRef.current.clientHeight : false;
|
|
18
|
+
var isHorizontalScrollable = scrollContentRef.current ? scrollContentRef.current.scrollWidth > scrollContentRef.current.offsetWidth : false;
|
|
19
|
+
var containerHeight = scrollY ? scrollY + headerHeight + (isHorizontalScrollable ? HORIZONTAL_SCROLL_BAR_HEIGHT : 0) : "100%";
|
|
55
20
|
var emptyElement = emptyPlaceholder || "暂无数据";
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}, [
|
|
76
|
-
return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height:
|
|
21
|
+
var transformedColumns = useRowSelection({ columns: columns, dataSource: dataSource, rowKey: rowKey, rowSelection: rowSelection });
|
|
22
|
+
var rowVirtualizer = useVirtualizer({
|
|
23
|
+
count: count,
|
|
24
|
+
getScrollElement: function () { return scrollContentRef.current; },
|
|
25
|
+
estimateSize: function () { return rowHeight; },
|
|
26
|
+
observeElementRect: function (instance, cb) {
|
|
27
|
+
observeElementRect(instance, cb);
|
|
28
|
+
getColumnWidths();
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
var _d = useColumns({ columns: transformedColumns, scrollContentRef: scrollContentRef, isScrollable: isVerticalScrollable }), headerRef = _d.headerRef, columnWidths = _d.columnWidths, getColumnWidths = _d.getColumnWidths, stickyPositionMap = _d.stickyPositionMap, scrollBarSize = _d.scrollBarSize;
|
|
32
|
+
var _e = useScroll({ scrollContentRef: scrollContentRef, headerRef: headerRef }), isScrollToLeft = _e.isScrollToLeft, isScrollToRight = _e.isScrollToRight, onScroll = _e.onScroll, tableBodyRef = _e.tableBodyRef;
|
|
33
|
+
// TODO/David: This is temporary fix of issue: https://github.com/TanStack/virtual/issues/363, please remove the code after update
|
|
34
|
+
var virtualizerRef = React.useRef(rowVirtualizer);
|
|
35
|
+
virtualizerRef.current = rowVirtualizer;
|
|
36
|
+
React.useLayoutEffect(function () {
|
|
37
|
+
var v = virtualizerRef.current;
|
|
38
|
+
v._didMount()();
|
|
39
|
+
v._willUpdate();
|
|
40
|
+
}, [dataSource.length]);
|
|
41
|
+
return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height: containerHeight } },
|
|
77
42
|
loading && (React.createElement("div", { className: "mask" },
|
|
78
43
|
React.createElement(Spin, { spinning: loading }))),
|
|
79
|
-
React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height:
|
|
44
|
+
React.createElement("div", { className: classNames("scroll-content", { "scroll-to-left": isScrollToLeft, "scroll-to-right": isScrollToRight }), ref: scrollContentRef, style: { height: "calc(100% - ".concat(headerHeight, "px)"), top: headerHeight }, onScroll: onScroll },
|
|
80
45
|
React.createElement("div", { className: "table", style: { height: totalSize } },
|
|
81
|
-
React.createElement(TableHeader, {
|
|
82
|
-
React.createElement("div", { className: "table-body" }, dataSource.length === 0
|
|
46
|
+
React.createElement(TableHeader, { headerRef: headerRef, headerHeight: headerHeight, columns: transformedColumns, stickyPositionMap: stickyPositionMap }),
|
|
47
|
+
columnWidths.length > 0 && (React.createElement("div", { className: "table-body", ref: tableBodyRef }, dataSource.length === 0
|
|
83
48
|
? emptyElement
|
|
84
|
-
:
|
|
85
|
-
|
|
49
|
+
: rowVirtualizer
|
|
50
|
+
.getVirtualItems()
|
|
51
|
+
.map(function (virtualItem) { return (React.createElement(TableRow, { key: virtualItem.key, rowHeight: rowHeight, onRowClick: onRowClick, virtualItem: virtualItem, data: dataSource[virtualItem.index], columns: transformedColumns, columnWidths: columnWidths, scrollBarSize: scrollBarSize, stickyPositionMap: stickyPositionMap, rowClassName: rowClassName })); })))))));
|
|
86
52
|
}, { displayName: "VirtualTable" });
|
|
87
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,24 @@
|
|
|
44
44
|
overflow: auto;
|
|
45
45
|
scrollbar-width: thin;
|
|
46
46
|
|
|
47
|
+
&.scroll-to-left {
|
|
48
|
+
.table-header.fixed,
|
|
49
|
+
.table-cell.fixed {
|
|
50
|
+
&.last.left::after {
|
|
51
|
+
box-shadow: none !important;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&.scroll-to-right {
|
|
57
|
+
.table-header.fixed,
|
|
58
|
+
.table-cell.fixed {
|
|
59
|
+
&.last.right::after {
|
|
60
|
+
box-shadow: none !important;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
47
65
|
.table {
|
|
48
66
|
min-height: 100%;
|
|
49
67
|
|
|
@@ -92,10 +110,6 @@
|
|
|
92
110
|
.fixed-column-shadow("right");
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
|
-
|
|
96
|
-
&.hide-shadow::after {
|
|
97
|
-
box-shadow: none;
|
|
98
|
-
}
|
|
99
113
|
}
|
|
100
114
|
}
|
|
101
115
|
}
|
|
@@ -138,23 +152,9 @@
|
|
|
138
152
|
.fixed-column-shadow("right");
|
|
139
153
|
}
|
|
140
154
|
}
|
|
141
|
-
|
|
142
|
-
&.hide-shadow::after {
|
|
143
|
-
box-shadow: none;
|
|
144
|
-
}
|
|
145
155
|
}
|
|
146
156
|
}
|
|
147
157
|
}
|
|
148
|
-
|
|
149
|
-
.expand-row {
|
|
150
|
-
display: block;
|
|
151
|
-
width: 100%;
|
|
152
|
-
max-height: 0;
|
|
153
|
-
|
|
154
|
-
&.expanded {
|
|
155
|
-
max-height: 400px;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -24,19 +24,6 @@ export declare type VirtualTableRowSelection<RowType extends object> = {
|
|
|
24
24
|
*/
|
|
25
25
|
title?: SafeReactChild;
|
|
26
26
|
};
|
|
27
|
-
export declare type VirtualTableRowExpand<RowType extends object> = {
|
|
28
|
-
width: number;
|
|
29
|
-
renderExpandRow: (record: RowType, rowIndex: number) => SafeReactChild;
|
|
30
|
-
ExpandButton: React.ComponentType<{
|
|
31
|
-
onClick: () => void;
|
|
32
|
-
}>;
|
|
33
|
-
title?: SafeReactChild;
|
|
34
|
-
/**
|
|
35
|
-
* Can only sticky in right
|
|
36
|
-
*/
|
|
37
|
-
fixed?: boolean;
|
|
38
|
-
isDefaultExpanded?: boolean;
|
|
39
|
-
};
|
|
40
27
|
export declare type VirtualTableColumn<RowType extends object> = {
|
|
41
28
|
title: SafeReactChild;
|
|
42
29
|
width: number;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,WAAW,GAAG,UAA+B,QAAkC;IACxF,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAU,CAAC;IAErC,IAAM,QAAQ,GAAG;QACb,OAAO;YAAU,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC9B,QAAQ,wCAAI,IAAI,WAAE;YACtB,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,cAAM,OAAA,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAA3B,CAA2B,EAAjC,CAAiC,EAAE,EAAE,CAAC,CAAC;IAC7D,2FAA2F;IAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,QAAQ,EAAE,EAAV,CAAU,EAAE,EAAE,CAAC,CAAC;AAC/C,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.71",
|
|
4
4
|
"author": "Pinnacle",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": [
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@ant-design/icons": "4.7.0",
|
|
20
|
+
"@juggle/resize-observer": "3.4.0",
|
|
21
|
+
"@tanstack/react-virtual": "3.0.0-beta.18",
|
|
20
22
|
"antd": "4.23.6",
|
|
21
23
|
"classnames": "2.3.2",
|
|
22
24
|
"moment": "2.29.4",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* If the Virtual Table is render inside a container with open animation e.g. <Modal />,
|
|
5
|
-
* the colWidths may be calculated during the transition and get the wrong width with useState & useEffect
|
|
6
|
-
* useLayoutEffect will be trigged in the transition process and get the final correct column widths
|
|
7
|
-
*/
|
|
8
|
-
export declare const useColumnWidths: (headersRef: React.RefObject<HTMLDivElement>) => {
|
|
9
|
-
columnWidths: number[];
|
|
10
|
-
calculateColWidths: () => void;
|
|
11
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
import React from "react";
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* If the Virtual Table is render inside a container with open animation e.g. <Modal />,
|
|
21
|
-
* the colWidths may be calculated during the transition and get the wrong width with useState & useEffect
|
|
22
|
-
* useLayoutEffect will be trigged in the transition process and get the final correct column widths
|
|
23
|
-
*/
|
|
24
|
-
export var useColumnWidths = function (headersRef) {
|
|
25
|
-
var _a = __read(React.useState([]), 2), colWidths = _a[0], setColWidths = _a[1];
|
|
26
|
-
var calculateColWidths = React.useCallback(function () {
|
|
27
|
-
if (!headersRef.current)
|
|
28
|
-
return;
|
|
29
|
-
var headers = headersRef.current.querySelectorAll(".table-header");
|
|
30
|
-
var widths = Array.prototype.slice.call(headers).map(function (header) {
|
|
31
|
-
var width = header.getBoundingClientRect().width;
|
|
32
|
-
return width;
|
|
33
|
-
});
|
|
34
|
-
setColWidths(widths);
|
|
35
|
-
}, [headersRef]);
|
|
36
|
-
return { columnWidths: colWidths, calculateColWidths: calculateColWidths };
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=useColumnWidths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnWidths.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useColumnWidths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AAEH,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,UAA2C;IACjE,IAAA,KAAA,OAA4B,KAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,IAAA,EAAvD,SAAS,QAAA,EAAE,YAAY,QAAgC,CAAC;IAE/D,IAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO;QAChC,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACrE,IAAM,MAAM,GAAa,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,MAAM;YAC5D,IAAA,KAAK,GAAI,MAAM,CAAC,qBAAqB,EAAE,MAAlC,CAAmC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,kBAAkB,oBAAA,EAAC,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useDebounce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,WAAW,GAAG,UAA+B,QAAkC;IACxF,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAU,CAAC;IAErC,IAAM,QAAQ,GAAG;QACb,OAAO;YAAU,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC9B,QAAQ,wCAAI,IAAI,WAAE;YACtB,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,cAAM,OAAA,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAA3B,CAA2B,EAAjC,CAAiC,EAAE,EAAE,CAAC,CAAC;IAC7D,2FAA2F;IAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,QAAQ,EAAE,EAAV,CAAU,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { VirtualTableColumn } from "../type";
|
|
3
|
-
interface Props<RowType extends object> {
|
|
4
|
-
headersRef: React.RefObject<HTMLDivElement>;
|
|
5
|
-
scrollContentRef: React.RefObject<HTMLDivElement>;
|
|
6
|
-
isScrollable: boolean;
|
|
7
|
-
columns: VirtualTableColumn<RowType>[];
|
|
8
|
-
}
|
|
9
|
-
export declare const useLayout: <RowType extends object>({ headersRef, scrollContentRef, isScrollable, columns }: Props<RowType>) => {
|
|
10
|
-
columnWidths: number[];
|
|
11
|
-
scrollBarSize: number;
|
|
12
|
-
stickyPosition: Record<number, import("../type").StickyPosition>;
|
|
13
|
-
isScrollToEdge: () => void;
|
|
14
|
-
isScrollToLeft: boolean;
|
|
15
|
-
isScrollToRight: boolean;
|
|
16
|
-
};
|
|
17
|
-
export {};
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { useDebounce } from "./useDebounce";
|
|
3
|
-
import { useScrollBarSize } from "./useScrollBarSize";
|
|
4
|
-
import { useColumnWidths } from "./useColumnWidths";
|
|
5
|
-
import { useStickyPosition } from "./useStickyPosition";
|
|
6
|
-
import { useScrollToEdge } from "./useScrollToEdge";
|
|
7
|
-
export var useLayout = function (_a) {
|
|
8
|
-
var headersRef = _a.headersRef, scrollContentRef = _a.scrollContentRef, isScrollable = _a.isScrollable, columns = _a.columns;
|
|
9
|
-
var _b = useColumnWidths(headersRef), calculateColWidths = _b.calculateColWidths, columnWidths = _b.columnWidths;
|
|
10
|
-
var _c = useScrollBarSize(scrollContentRef, isScrollable), calculateScrollBarSize = _c.calculateScrollBarSize, scrollBarSize = _c.scrollBarSize;
|
|
11
|
-
var _d = useScrollToEdge(scrollContentRef), isScrollToEdge = _d.isScrollToEdge, isScrollToLeft = _d.isScrollToLeft, isScrollToRight = _d.isScrollToRight;
|
|
12
|
-
var stickyPosition = useStickyPosition(columns, columnWidths);
|
|
13
|
-
var debouncedCalculateColWidths = useDebounce(calculateColWidths);
|
|
14
|
-
var debouncedCalculateScrollBarSize = useDebounce(calculateScrollBarSize);
|
|
15
|
-
var debouncedIsScrollToEdge = useDebounce(isScrollToEdge);
|
|
16
|
-
var handler = React.useCallback(function (event) {
|
|
17
|
-
if (event.currentTarget && "querySelector" in event.currentTarget && headersRef.current) {
|
|
18
|
-
var element = event.currentTarget;
|
|
19
|
-
var result = element.querySelector(".g-virtual-table");
|
|
20
|
-
if (result) {
|
|
21
|
-
debouncedCalculateColWidths();
|
|
22
|
-
debouncedCalculateScrollBarSize();
|
|
23
|
-
debouncedIsScrollToEdge();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}, [debouncedCalculateColWidths, debouncedCalculateScrollBarSize, headersRef, debouncedIsScrollToEdge]);
|
|
27
|
-
React.useEffect(function () {
|
|
28
|
-
document.body.addEventListener("transitionend", handler);
|
|
29
|
-
document.body.addEventListener("animationend", handler);
|
|
30
|
-
return function () {
|
|
31
|
-
document.body.removeEventListener("transitionend", handler);
|
|
32
|
-
document.body.removeEventListener("animationend", handler);
|
|
33
|
-
};
|
|
34
|
-
}, [handler]);
|
|
35
|
-
return {
|
|
36
|
-
columnWidths: columnWidths,
|
|
37
|
-
scrollBarSize: scrollBarSize,
|
|
38
|
-
stickyPosition: stickyPosition,
|
|
39
|
-
isScrollToEdge: isScrollToEdge,
|
|
40
|
-
isScrollToLeft: isScrollToLeft,
|
|
41
|
-
isScrollToRight: isScrollToRight,
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=useLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLayout.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAUlD,MAAM,CAAC,IAAM,SAAS,GAAG,UAAkC,EAAqE;QAApE,UAAU,gBAAA,EAAE,gBAAgB,sBAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA;IACrG,IAAA,KAAqC,eAAe,CAAC,UAAU,CAAC,EAA/D,kBAAkB,wBAAA,EAAE,YAAY,kBAA+B,CAAC;IACjE,IAAA,KAA0C,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAzF,sBAAsB,4BAAA,EAAE,aAAa,mBAAoD,CAAC;IAC3F,IAAA,KAAoD,eAAe,CAAC,gBAAgB,CAAC,EAApF,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,eAAe,qBAAqC,CAAC;IAC5F,IAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,IAAM,2BAA2B,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpE,IAAM,+BAA+B,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5E,IAAM,uBAAuB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAE5D,IAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,UAAC,KAAuC;QACpC,IAAI,KAAK,CAAC,aAAa,IAAI,eAAe,IAAI,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,OAAO,EAAE;YACrF,IAAM,OAAO,GAAG,KAAK,CAAC,aAA4B,CAAC;YACnD,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE;gBACR,2BAA2B,EAAE,CAAC;gBAC9B,+BAA+B,EAAE,CAAC;gBAClC,uBAAuB,EAAE,CAAC;aAC7B;SACJ;IACL,CAAC,EACD,CAAC,2BAA2B,EAAE,+BAA+B,EAAE,UAAU,EAAE,uBAAuB,CAAC,CACtG,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO;YACH,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACH,YAAY,cAAA;QACZ,aAAa,eAAA;QACb,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;KAClB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { VirtualTableRowExpand, VirtualTableColumn } from "../type";
|
|
2
|
-
interface Props<RowType extends object> {
|
|
3
|
-
columns: VirtualTableColumn<RowType>[];
|
|
4
|
-
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
5
|
-
}
|
|
6
|
-
export declare const useRowExpand: <RowType extends object>({ columns, rowExpand }: Props<RowType>) => VirtualTableColumn<RowType>[];
|
|
7
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export var useRowExpand = function (_a) {
|
|
3
|
-
var columns = _a.columns, rowExpand = _a.rowExpand;
|
|
4
|
-
var transformedColumns = React.useMemo(function () {
|
|
5
|
-
var resultColumns = columns;
|
|
6
|
-
if (rowExpand) {
|
|
7
|
-
var width = rowExpand.width, fixed = rowExpand.fixed, title = rowExpand.title;
|
|
8
|
-
var rowExpandColumn = {
|
|
9
|
-
width: width,
|
|
10
|
-
title: title || "",
|
|
11
|
-
fixed: fixed ? "right" : undefined,
|
|
12
|
-
renderData: function () { return null; },
|
|
13
|
-
};
|
|
14
|
-
resultColumns.push(rowExpandColumn);
|
|
15
|
-
}
|
|
16
|
-
return resultColumns;
|
|
17
|
-
}, [columns, rowExpand]);
|
|
18
|
-
return transformedColumns;
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=useRowExpand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRowExpand.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useRowExpand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,IAAM,YAAY,GAAG,UAAkC,EAAoC;QAAnC,OAAO,aAAA,EAAE,SAAS,eAAA;IAC7E,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,IAAM,aAAa,GAAG,OAAO,CAAC;QAC9B,IAAI,SAAS,EAAE;YACJ,IAAA,KAAK,GAAkB,SAAS,MAA3B,EAAE,KAAK,GAAW,SAAS,MAApB,EAAE,KAAK,GAAI,SAAS,MAAb,CAAc;YAExC,IAAM,eAAe,GAAgC;gBACjD,KAAK,OAAA;gBACL,KAAK,EAAE,KAAK,IAAI,EAAE;gBAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAClC,UAAU,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;aACzB,CAAC;YACF,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzB,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
import React from "react";
|
|
18
|
-
export var useScrollBarSize = function (scrollContentRef, isScrollable) {
|
|
19
|
-
var _a = __read(React.useState(0), 2), scrollBarSize = _a[0], setScrollBarSize = _a[1];
|
|
20
|
-
var calculateScrollBarSize = React.useCallback(function () {
|
|
21
|
-
if (scrollContentRef.current) {
|
|
22
|
-
var _a = scrollContentRef.current, clientWidth = _a.clientWidth, offsetWidth = _a.offsetWidth;
|
|
23
|
-
setScrollBarSize(offsetWidth - clientWidth);
|
|
24
|
-
}
|
|
25
|
-
}, [scrollContentRef, setScrollBarSize]);
|
|
26
|
-
React.useEffect(function () {
|
|
27
|
-
if (isScrollable && !scrollBarSize) {
|
|
28
|
-
calculateScrollBarSize();
|
|
29
|
-
}
|
|
30
|
-
}, [calculateScrollBarSize, isScrollable, scrollBarSize]);
|
|
31
|
-
return {
|
|
32
|
-
calculateScrollBarSize: calculateScrollBarSize,
|
|
33
|
-
scrollBarSize: scrollBarSize,
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=useScrollBarSize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollBarSize.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScrollBarSize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,gBAAiD,EAAE,YAAqB;IAC/F,IAAA,KAAA,OAAoC,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,IAAA,EAA5D,aAAa,QAAA,EAAE,gBAAgB,QAA6B,CAAC;IAEpE,IAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7C,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACpB,IAAA,KAA6B,gBAAgB,CAAC,OAAO,EAApD,WAAW,iBAAA,EAAE,WAAW,iBAA4B,CAAC;YAC5D,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;SAC/C;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC;QACZ,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE;YAChC,sBAAsB,EAAE,CAAC;SAC5B;IACL,CAAC,EAAE,CAAC,sBAAsB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1D,OAAO;QACH,sBAAsB,wBAAA;QACtB,aAAa,eAAA;KAChB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
-
if (!m) return o;
|
|
4
|
-
var i = m.call(o), r, ar = [], e;
|
|
5
|
-
try {
|
|
6
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
-
}
|
|
8
|
-
catch (error) { e = { error: error }; }
|
|
9
|
-
finally {
|
|
10
|
-
try {
|
|
11
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
-
}
|
|
13
|
-
finally { if (e) throw e.error; }
|
|
14
|
-
}
|
|
15
|
-
return ar;
|
|
16
|
-
};
|
|
17
|
-
import React, { useEffect } from "react";
|
|
18
|
-
export var useScrollToEdge = function (scrollContentRef) {
|
|
19
|
-
var _a = __read(React.useState(false), 2), isScrollToLeft = _a[0], setIsScrollToLeft = _a[1];
|
|
20
|
-
var _b = __read(React.useState(false), 2), isScrollToRight = _b[0], setIsScrollToRight = _b[1];
|
|
21
|
-
var _c = __read(React.useState(false), 2), isScrollToTop = _c[0], setIsScrollToTop = _c[1];
|
|
22
|
-
var _d = __read(React.useState(false), 2), isScrollToBottom = _d[0], setIsScrollToBottom = _d[1];
|
|
23
|
-
var isScrollToEdge = React.useCallback(function () {
|
|
24
|
-
if (scrollContentRef.current) {
|
|
25
|
-
var _a = scrollContentRef.current, scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
26
|
-
var isScrollLeft = scrollLeft <= 1;
|
|
27
|
-
var isScrollRight = scrollLeft >= scrollWidth - clientWidth;
|
|
28
|
-
var isScrollTop = scrollTop <= 1;
|
|
29
|
-
var isScrollBottom = scrollTop >= scrollHeight - clientHeight;
|
|
30
|
-
setIsScrollToLeft(isScrollLeft);
|
|
31
|
-
setIsScrollToRight(isScrollRight);
|
|
32
|
-
setIsScrollToTop(isScrollTop);
|
|
33
|
-
setIsScrollToBottom(isScrollBottom);
|
|
34
|
-
}
|
|
35
|
-
}, [scrollContentRef]);
|
|
36
|
-
// initialize
|
|
37
|
-
useEffect(function () {
|
|
38
|
-
isScrollToEdge();
|
|
39
|
-
}, [isScrollToEdge]);
|
|
40
|
-
return {
|
|
41
|
-
isScrollToEdge: isScrollToEdge,
|
|
42
|
-
isScrollToLeft: isScrollToLeft,
|
|
43
|
-
isScrollToRight: isScrollToRight,
|
|
44
|
-
isScrollToTop: isScrollToTop,
|
|
45
|
-
isScrollToBottom: isScrollToBottom,
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=useScrollToEdge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/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,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACpB,IAAA,KAAgF,gBAAgB,CAAC,OAAO,EAAvG,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAA4B,CAAC;YAC/G,IAAM,YAAY,GAAG,UAAU,IAAI,CAAC,CAAC;YACrC,IAAM,aAAa,GAAG,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC;YAE9D,IAAM,WAAW,GAAG,SAAS,IAAI,CAAC,CAAC;YACnC,IAAM,cAAc,GAAG,SAAS,IAAI,YAAY,GAAG,YAAY,CAAC;YAChE,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACvC;IACL,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,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ArrayUtil } from "../../../internal/ArrayUtil";
|
|
3
|
-
export var useStickyPosition = function (columns, columnWidths) {
|
|
4
|
-
return React.useMemo(function () {
|
|
5
|
-
var result = {};
|
|
6
|
-
var left = [];
|
|
7
|
-
var right = [];
|
|
8
|
-
var leftFixedCols = ArrayUtil.compactMap(columns, function (_, columnIndex) { return (_.fixed === "left" ? { columnIndex: columnIndex, width: columnWidths[columnIndex] } : null); });
|
|
9
|
-
// the right sticky value stack in reverse direction
|
|
10
|
-
var rightFixedCols = ArrayUtil.compactMap(columns, function (_, columnIndex) { return (_.fixed === "right" ? { columnIndex: columnIndex, width: columnWidths[columnIndex] } : null); }).reverse();
|
|
11
|
-
leftFixedCols.forEach(function (column, idx) {
|
|
12
|
-
var stackedPositionValue = left.reduce(function (acc, prev) { return acc + prev; }, 0);
|
|
13
|
-
left.push(column.width);
|
|
14
|
-
result[column.columnIndex] = { value: stackedPositionValue, isLast: idx === leftFixedCols.length - 1 };
|
|
15
|
-
});
|
|
16
|
-
rightFixedCols.forEach(function (column, idx) {
|
|
17
|
-
var stackedPositionValue = right.reduce(function (acc, prev) { return acc + prev; }, 0);
|
|
18
|
-
right.unshift(column.width);
|
|
19
|
-
result[column.columnIndex] = { value: stackedPositionValue, isLast: idx === rightFixedCols.length - 1 };
|
|
20
|
-
});
|
|
21
|
-
return result;
|
|
22
|
-
}, [columnWidths, columns]);
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=useStickyPosition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStickyPosition.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useStickyPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAGtD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAyB,OAAsC,EAAE,YAAsB;IACpH,OAAO,KAAK,CAAC,OAAO,CAAC;QACjB,IAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,IAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA7E,CAA6E,CAAC,CAAC;QACvJ,oDAAoD;QACpD,IAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA9E,CAA8E,CAAC,CAAC,OAAO,EAAE,CAAC;QAEnK,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC9B,IAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC/B,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACxE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { VirtualTableColumn, VirtualTableRowExpand, VirtualTableRowSelection } from "../type";
|
|
3
|
-
interface Props<RowType extends object> {
|
|
4
|
-
columns: VirtualTableColumn<RowType>[];
|
|
5
|
-
dataSource: RowType[];
|
|
6
|
-
rowKey: "index" | React.Key;
|
|
7
|
-
rowSelection?: VirtualTableRowSelection<RowType>;
|
|
8
|
-
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
9
|
-
}
|
|
10
|
-
export declare const useTransformColumn: <RowType extends object>({ columns, dataSource, rowKey, rowExpand, rowSelection }: Props<RowType>) => VirtualTableColumn<RowType>[];
|
|
11
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { useRowExpand } from "./useRowExpand";
|
|
2
|
-
import { useRowSelection } from "./useRowSelection";
|
|
3
|
-
export var useTransformColumn = function (_a) {
|
|
4
|
-
var columns = _a.columns, dataSource = _a.dataSource, rowKey = _a.rowKey, rowExpand = _a.rowExpand, rowSelection = _a.rowSelection;
|
|
5
|
-
var columnsWithRowSelection = useRowSelection({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey });
|
|
6
|
-
var transformedColumns = useRowExpand({ columns: columnsWithRowSelection, rowExpand: rowExpand });
|
|
7
|
-
return transformedColumns;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=useTransformColumn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTransformColumn.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useTransformColumn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAkC,EAAsE;QAArE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA;IACrH,IAAM,uBAAuB,GAAG,eAAe,CAAC,EAAC,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,YAAY,cAAA,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC;IAC7F,IAAM,kBAAkB,GAAG,YAAY,CAAC,EAAC,OAAO,EAAE,uBAAuB,EAAE,SAAS,WAAA,EAAC,CAAC,CAAC;IAEvF,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC"}
|