pixel-react 1.10.21 → 1.10.22

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.
@@ -5,46 +5,28 @@ import TableHead from './Components/TableHead';
5
5
  import TableBody from './Components/TableBody';
6
6
  import { throttle } from '../../utils/throttle/throttle';
7
7
  const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChange, onClick, onExpand, loadMore = () => { }, tableBorder, height = 'auto', newNode = {}, onAddConfirm = (_name) => { }, onAddCancel = () => { }, }) => {
8
+ console.log('🚀 ~ treeData:', treeData);
8
9
  const [expanding, setExpanding] = useState(null);
9
10
  const observerRef = useRef(null);
10
- const isTriggeredAbove = useRef(false);
11
- const isTriggeredBelow = useRef(false);
11
+ const isTriggeredAbove = useRef(false); // Track if pagination for "above" direction has been triggered
12
+ const isTriggeredBelow = useRef(false); // Track if pagination for "below" direction has been triggered
13
+ const isTriggeredOnce = useRef(false); // Ensure 2-second delay triggers only once
12
14
  // Throttled version of loadMore
13
15
  const throttledLoadMore = useRef(throttle((direction) => {
14
16
  loadMore(direction);
15
17
  }, 300)).current;
16
- useEffect(() => {
17
- // Reset flags only if first or last node has `lastResource: false`
18
- const isLastResourceAbove = !!treeData[0]?.lastResource;
19
- const isLastResourceBelow = !!treeData[treeData.length - 1]?.lastResource;
20
- if (!isLastResourceAbove) {
21
- isTriggeredAbove.current = false;
22
- }
23
- if (!isLastResourceBelow) {
24
- isTriggeredBelow.current = false;
25
- }
26
- const scrollContainer = document.getElementById('ff-table-tree-scroll-container');
27
- const firstNode = document.getElementById('ff-table-tree-first-node');
28
- const lastNode = document.getElementById('ff-table-tree-last-node');
29
- if (!scrollContainer || !firstNode || !lastNode || !treeData?.length)
30
- return;
31
- // Reattach observers only if needed
32
- if (!isLastResourceAbove)
33
- observerRef.current?.observe(firstNode);
34
- if (!isLastResourceBelow)
35
- observerRef.current?.observe(lastNode);
36
- return () => {
37
- observerRef.current?.disconnect();
38
- };
39
- }, [treeData]);
40
18
  useEffect(() => {
41
19
  const scrollContainer = document.getElementById('ff-table-tree-scroll-container');
42
20
  const firstNode = document.getElementById('ff-table-tree-first-node');
43
21
  const lastNode = document.getElementById('ff-table-tree-last-node');
22
+ // Exit early if essential elements or data are missing
44
23
  if (!scrollContainer || !firstNode || !lastNode || !treeData?.length)
45
24
  return;
46
25
  const isLastResourceAbove = !!treeData[0]?.lastResource;
47
26
  const isLastResourceBelow = !!treeData[treeData.length - 1]?.lastResource;
27
+ console.log(isLastResourceAbove, 'isLastResourceAbove');
28
+ console.log(isLastResourceBelow, 'isLastResourceBelow');
29
+ // Skip pagination if both last resources are present
48
30
  if (isLastResourceAbove && isLastResourceBelow)
49
31
  return;
50
32
  const observerCallback = (entries) => {
@@ -52,6 +34,7 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
52
34
  const nodeId = entry.target.id;
53
35
  const direction = nodeId === 'ff-table-tree-last-node' ? 'below' : 'above';
54
36
  if (entry.isIntersecting) {
37
+ // Trigger only once for each direction
55
38
  if (direction === 'above' && !isTriggeredAbove.current) {
56
39
  if (!isLastResourceAbove) {
57
40
  throttledLoadMore(direction);
@@ -72,10 +55,39 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
72
55
  rootMargin: '8px',
73
56
  threshold: 0.1,
74
57
  });
75
- if (!isLastResourceAbove)
76
- observerRef.current.observe(firstNode);
77
- if (!isLastResourceBelow)
78
- observerRef.current.observe(lastNode);
58
+ // Initial pagination trigger after 2 seconds if first or last node is in view inside the scroll container
59
+ const checkInitialPaginationTrigger = () => {
60
+ if (isTriggeredOnce.current)
61
+ return;
62
+ const scrollContainerRect = scrollContainer.getBoundingClientRect();
63
+ const firstNodeRect = firstNode?.getBoundingClientRect();
64
+ const lastNodeRect = lastNode?.getBoundingClientRect();
65
+ // Check if the first node is inside the scroll container
66
+ const isFirstNodeInView = firstNodeRect &&
67
+ firstNodeRect.top >= scrollContainerRect.top &&
68
+ firstNodeRect.bottom <= scrollContainerRect.bottom;
69
+ // Check if the last node is inside the scroll container
70
+ const isLastNodeInView = lastNodeRect &&
71
+ lastNodeRect.top >= scrollContainerRect.top &&
72
+ lastNodeRect.bottom <= scrollContainerRect.bottom;
73
+ if (isFirstNodeInView || isLastNodeInView) {
74
+ isTriggeredOnce.current = true;
75
+ setTimeout(() => {
76
+ if (!isLastResourceAbove)
77
+ observerRef.current?.observe(firstNode);
78
+ if (!isLastResourceBelow)
79
+ observerRef.current?.observe(lastNode);
80
+ }, 2000); // Delay the first pagination trigger by 2 seconds
81
+ }
82
+ else {
83
+ // Observe first and last node immediately
84
+ if (!isLastResourceAbove)
85
+ observerRef.current?.observe(firstNode);
86
+ if (!isLastResourceBelow)
87
+ observerRef.current?.observe(lastNode);
88
+ }
89
+ };
90
+ checkInitialPaginationTrigger();
79
91
  return () => {
80
92
  observerRef.current?.disconnect();
81
93
  throttledLoadMore.cancel();
@@ -112,7 +124,7 @@ const TreeTable = ({ treeData, columnsData, selected = [], select = null, onChan
112
124
  onClick?.(e, node);
113
125
  }, [onClick, expanding]);
114
126
  return (_jsx("div", { className: "tree-table-wrap", children: _jsx("div", { className: "table-scrollable", id: "ff-table-tree-scroll-container", style: {
115
- '--table-height': `${height !== 'auto' ? height + 'px' : height}`,
127
+ '--table-height': `${typeof height === 'string' ? height : height + 'px'}`,
116
128
  border: tableBorder,
117
129
  }, children: _jsxs("table", { className: "tree-table", children: [_jsx(TableHead, { columnsData: columnsData }), _jsx(TableBody, { flattenedTreeData: treeData, columnsData: columnsData, selected: selected, select: select, onRowClick: handleRowClick, onToggleExpand: handleToggleExpand, onCheckBoxChange: handleCheckBoxChange, newNode: newNode, onAddConfirm: onAddConfirm, onAddCancel: onAddCancel, expanding: expanding })] }) }) }));
118
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableTree.js","sourceRoot":"","sources":["../../../src/components/TableTree/TableTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableTree.js","sourceRoot":"","sources":["../../../src/components/TableTree/TableTree.tsx"],"names":[],"mappings":"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"}