pixel-react 1.10.32 → 1.10.34
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/lib/components/TableTree/TableTree.js +28 -19
- package/lib/components/TableTree/TableTree.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.esm.js +2 -2
- package/lib/index.esm.js.br +0 -0
- package/lib/index.esm.js.map +1 -1
- package/lib/utils/getTreeDetails/getTreeDetails.js +2 -2
- package/lib/utils/getTreeDetails/getTreeDetails.js.map +1 -1
- package/package.json +1 -1
@@ -8,6 +8,7 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
|
|
8
8
|
const [isLoading, setIsLoading] = useState(null);
|
9
9
|
const observerRef = useRef(null);
|
10
10
|
const containerRef = useRef(null); // Reference for scroll container
|
11
|
+
const animationRef = useRef(null);
|
11
12
|
// Handle load more data for pagination
|
12
13
|
const loadMoreAbove = () => {
|
13
14
|
if (loading || isLoading === 'above')
|
@@ -23,6 +24,25 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
|
|
23
24
|
// Trigger the loadMore callback for data loading from below
|
24
25
|
loadMore('below');
|
25
26
|
};
|
27
|
+
const handlescroll = useCallback((isLoading) => {
|
28
|
+
const container = containerRef.current;
|
29
|
+
if (!loading && container) {
|
30
|
+
const currentScrollTop = container.scrollTop;
|
31
|
+
const adjustmentFactor = treeData.length > 20 ? treeData.length - 20 : 0;
|
32
|
+
// Adjust scroll position efficiently
|
33
|
+
if (animationRef?.current) {
|
34
|
+
cancelAnimationFrame(animationRef.current);
|
35
|
+
}
|
36
|
+
animationRef.current = requestAnimationFrame(() => {
|
37
|
+
if (isLoading === 'above') {
|
38
|
+
container.scrollTop = currentScrollTop + adjustmentFactor * 8;
|
39
|
+
}
|
40
|
+
else if (isLoading === 'below') {
|
41
|
+
container.scrollTop = currentScrollTop - adjustmentFactor * 8;
|
42
|
+
}
|
43
|
+
});
|
44
|
+
}
|
45
|
+
}, [loading, treeData]);
|
26
46
|
useEffect(() => {
|
27
47
|
const scrollContainer = document.getElementById('ff-table-tree-scroll-container');
|
28
48
|
const lastNode = document.getElementById('ff-table-tree-last-node');
|
@@ -31,6 +51,8 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
|
|
31
51
|
return;
|
32
52
|
const isLastResourceBelow = !!treeData[treeData.length - 1]?.lastResource;
|
33
53
|
const isLastResourceAbove = !!treeData[0]?.lastResource;
|
54
|
+
// Clean up old observer before creating a new one
|
55
|
+
observerRef.current?.disconnect();
|
34
56
|
const observerCallback = (entries) => {
|
35
57
|
entries.forEach((entry) => {
|
36
58
|
const nodeId = entry.target.id;
|
@@ -49,7 +71,7 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
|
|
49
71
|
};
|
50
72
|
observerRef.current = new IntersectionObserver(observerCallback, {
|
51
73
|
root: scrollContainer,
|
52
|
-
rootMargin: '
|
74
|
+
rootMargin: '100px',
|
53
75
|
threshold: 0.1,
|
54
76
|
});
|
55
77
|
if (!isLastResourceBelow)
|
@@ -62,28 +84,15 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
|
|
62
84
|
}, [treeData, loadMore, isLoading]);
|
63
85
|
useEffect(() => {
|
64
86
|
if (!loading && isLoading) {
|
87
|
+
handlescroll(isLoading);
|
65
88
|
setIsLoading(null);
|
66
89
|
}
|
67
|
-
}, [loading
|
90
|
+
}, [loading]);
|
68
91
|
useEffect(() => {
|
69
|
-
|
70
|
-
|
71
|
-
if (!loading && container) {
|
72
|
-
const currentScrollTop = container.scrollTop;
|
73
|
-
// const currentHeight = container.scrollHeight;
|
74
|
-
// Scroll adjustment logic to keep position consistent after data change
|
75
|
-
setTimeout(() => {
|
76
|
-
if (isLoading === 'above') {
|
77
|
-
// When scrolling above, adjust the scroll position based on new data
|
78
|
-
container.scrollTop = currentScrollTop + 100; // Example adjustment, tweak as needed
|
79
|
-
}
|
80
|
-
else if (isLoading === 'below') {
|
81
|
-
// When scrolling below, adjust the scroll position based on new data
|
82
|
-
container.scrollTop = currentScrollTop - 100; // Example adjustment, tweak as needed
|
83
|
-
}
|
84
|
-
}, 0);
|
92
|
+
if (!loading && expanding) {
|
93
|
+
setExpanding(null);
|
85
94
|
}
|
86
|
-
}, [loading
|
95
|
+
}, [loading]);
|
87
96
|
const handleToggleExpand = useCallback((node, index) => {
|
88
97
|
if (expanding)
|
89
98
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TableTree.js","sourceRoot":"","sources":["../../../src/components/TableTree/TableTree.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,kBAAkB,CAAC;AAE1B,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAG/C,MAAM,SAAS,GAA6B,CAAC,EAC3C,QAAQ,EACR,WAAW,EACX,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,IAAI,EACb,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,WAAW,EACX,MAAM,GAAG,qBAAqB,EAC9B,OAAO,GAAG,EAAE,EACZ,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE,GAAE,CAAC,EAC5B,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,EACtB,OAAO,GAAG,KAAK,GAChB,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC,CAAC,iCAAiC;
|
1
|
+
{"version":3,"file":"TableTree.js","sourceRoot":"","sources":["../../../src/components/TableTree/TableTree.tsx"],"names":[],"mappings":"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"}
|