react-native-tree-multi-select 3.0.0-beta.8 → 3.0.1
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/module/TreeView.js +4 -1
- package/lib/module/TreeView.js.map +1 -1
- package/lib/module/components/CheckboxView.js +2 -2
- package/lib/module/components/CheckboxView.js.map +1 -1
- package/lib/module/components/NodeList.js +7 -2
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/helpers/moveTreeNode.helper.js +2 -0
- package/lib/module/helpers/moveTreeNode.helper.js.map +1 -1
- package/lib/module/hooks/useDragDrop.js +63 -16
- package/lib/module/hooks/useDragDrop.js.map +1 -1
- package/lib/module/hooks/useScrollToNode.js +1 -1
- package/lib/module/utils/useDeepCompareEffect.js +12 -19
- package/lib/module/utils/useDeepCompareEffect.js.map +1 -1
- package/lib/typescript/src/TreeView.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useDragDrop.d.ts.map +1 -1
- package/lib/typescript/src/utils/useDeepCompareEffect.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TreeView.tsx +4 -1
- package/src/components/CheckboxView.tsx +2 -2
- package/src/components/NodeList.tsx +7 -2
- package/src/helpers/moveTreeNode.helper.ts +2 -0
- package/src/hooks/useDragDrop.ts +52 -7
- package/src/hooks/useScrollToNode.ts +1 -1
- package/src/utils/useDeepCompareEffect.ts +12 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","AccessibilityInfo","Animated","PanResponder","Platform","getTreeViewStore","collapseNodes","expandNodes","getSubtreeDepthFromMap","handleToggleExpand","applyMoveToStore","findNodePosition","findNodePositionFromMaps","moveTreeNode","scrollMovedNodeIntoView","defaultItemHeight","DEFAULT_OVERLAY_Y_CORRECTION","OS","MAX_AUTO_SCROLL_SPEED","AUTO_SCROLL_RECALC_INTERVAL_MS","LEVEL_SETTLE_MS","ZONE_STICKINESS","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","measuredItemHeightRef","contentHeightRef","itemHeightsRef","dragOverlayOffset","overlayYCorrection","autoExpandDelay","autoExpand","magneticSnap","indentationMultiplier","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","scrollToNodeHandlerRef","autoScrollToDroppedNode","isDraggingRef","draggedNodeRef","wasDraggedNodeExpandedRef","longPressTimerRef","containerPageXRef","containerPageYRef","containerWidthRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","overlayX","prevEffectiveLevelRef","pendingLevelRef","levelSettleTimerRef","autoScrollRAFRef","autoScrollSpeedRef","lastFingerPageYRef","lastFingerPageXRef","calculateDropTargetRef","allHeightsMeasuredRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","panResponderActiveRef","pendingDragRef","prevDropTargetRef","lastCalcNodesRef","draggedSubtreeDepthRef","flattenedNodesRef","onDragStartRef","onDragEndRef","onDragCancelRef","canDropRef","canNodeHaveChildrenRef","canDragRef","dragOverlayOffsetRef","overlayYCorrectionRef","autoScrollThresholdRef","autoScrollSpeedParamRef","autoExpandDelayRef","autoExpandRef","magneticSnapRef","indentationMultiplierRef","maxDepthRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTargetRef","lastStoreDropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","getSubtreeDepth","computeOverlayLocalY","fingerLocalY","fingerLeftOfLevelThreshold","level","fingerLocalX","itemLeftEdge","threshold","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","x","y","w","h","nodes","expanded","has","measured","updateDraggedNodeId","updateInvalidDragTargetIds","setValue","cancelLevelSettleTimer","clear","draggedNodeId","announceForAccessibility","name","startAutoScrollLoop","handleNodeTouchStart","searchText","setTimeout","cancelAnimationFrame","lastTs","lastRecalcTs","loop","ts","now","Date","dtMs","Math","min","contentH","maxOffset","max","Number","POSITIVE_INFINITY","newOffset","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","updateAutoScroll","fingerInContainer","maxSpeed","containerH","ratio","sqrt","cancelAutoExpandTimer","resetDragStoreState","state","updateDropTarget","calculateDropTarget","fingerPageY","fingerPageX","childToParentMap","invalidDragTargetIds","fingerContentY","adjustedContentY","iH","heights","cachedGate","allMeasured","size","value","every","n","clampedIndex","itemTop","itemHeight","top","idx","rawIndex","floor","targetNode","positionInItem","aboveBound","belowBound","prevZone","targetIndex","position","canDropInsideTarget","undefined","targetLevel","deepest","logicalTargetId","logicalPosition","visualDropLevel","currentLevel","isCliff","shallowLevel","nextNode","nextLevel","ancestorId","walkLevel","parentId","prevNode","prevLevel","prev","sameGap","upperIdx","lowerIdx","upperLevel","lowerLevel","effectiveTargetId","effectivePosition","effectiveTargetNode","maxDepthValid","isValid","draggedLevel","effectiveLevel","applyLevel","targetX","spring","toValue","useNativeDriver","speed","bounciness","start","settled","newTarget","targetNodeId","nextDropNodeId","nextDropPosition","nextDropLevel","lastStore","handleDragEnd","cancel","currentTarget","droppedNodeId","initialTreeViewData","currentData","prevPosition","newData","newPosition","isNoOpMove","index","previousParentId","previousIndex","newParentId","newIndex","scrollOpts","scrollEnabled","enabled","preMoveNodes","draggedIdx","findIndex","finalIndex","rowTop","isOnScreen","postMoveParentMap","ancestorIds","walkId","toCollapse","handleScroll","event","nativeEvent","contentOffset","handleNodeTouchEnd","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderTerminationRequest","onPanResponderMove","evt","pageX","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","AccessibilityInfo","Animated","PanResponder","Platform","getTreeViewStore","collapseNodes","expandNodes","getSubtreeDepthFromMap","handleToggleExpand","applyMoveToStore","findNodePosition","findNodePositionFromMaps","moveTreeNode","scrollMovedNodeIntoView","defaultItemHeight","DEFAULT_OVERLAY_Y_CORRECTION","OS","MAX_AUTO_SCROLL_SPEED","AUTO_SCROLL_RECALC_INTERVAL_MS","LEVEL_SETTLE_MS","ZONE_STICKINESS","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","measuredItemHeightRef","contentHeightRef","itemHeightsRef","dragOverlayOffset","overlayYCorrection","autoExpandDelay","autoExpand","magneticSnap","indentationMultiplier","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","scrollToNodeHandlerRef","autoScrollToDroppedNode","isDraggingRef","draggedNodeRef","wasDraggedNodeExpandedRef","longPressTimerRef","containerPageXRef","containerPageYRef","containerWidthRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","overlayX","prevEffectiveLevelRef","pendingLevelRef","levelSettleTimerRef","autoScrollRAFRef","autoScrollSpeedRef","lastFingerPageYRef","lastFingerPageXRef","calculateDropTargetRef","allHeightsMeasuredRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","panResponderActiveRef","pendingDragRef","prevDropTargetRef","lastCalcNodesRef","draggedSubtreeDepthRef","flattenedNodesRef","dragEnabledRef","onDragStartRef","onDragEndRef","onDragCancelRef","canDropRef","canNodeHaveChildrenRef","canDragRef","dragOverlayOffsetRef","overlayYCorrectionRef","autoScrollThresholdRef","autoScrollSpeedParamRef","autoExpandDelayRef","autoExpandRef","magneticSnapRef","indentationMultiplierRef","maxDepthRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTargetRef","lastStoreDropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","getSubtreeDepth","computeOverlayLocalY","fingerLocalY","fingerLeftOfLevelThreshold","level","fingerLocalX","itemLeftEdge","threshold","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","x","y","w","h","nodes","expanded","has","measured","updateDraggedNodeId","updateInvalidDragTargetIds","setValue","cancelLevelSettleTimer","clear","draggedNodeId","announceForAccessibility","name","startAutoScrollLoop","handleNodeTouchStart","searchText","setTimeout","cancelAnimationFrame","lastTs","lastRecalcTs","loop","ts","now","Date","dtMs","Math","min","contentH","maxOffset","max","Number","POSITIVE_INFINITY","newOffset","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","updateAutoScroll","fingerInContainer","maxSpeed","containerH","ratio","sqrt","cancelAutoExpandTimer","resetDragStoreState","state","updateDropTarget","calculateDropTarget","fingerPageY","fingerPageX","childToParentMap","invalidDragTargetIds","fingerContentY","adjustedContentY","iH","heights","cachedGate","allMeasured","size","value","every","n","clampedIndex","itemTop","itemHeight","top","idx","rawIndex","floor","targetNode","positionInItem","aboveBound","belowBound","prevZone","targetIndex","position","canDropInsideTarget","undefined","targetLevel","deepest","logicalTargetId","logicalPosition","visualDropLevel","currentLevel","isCliff","shallowLevel","nextNode","nextLevel","ancestorId","walkLevel","parentId","prevNode","prevLevel","prev","sameGap","upperIdx","lowerIdx","upperLevel","lowerLevel","effectiveTargetId","effectivePosition","effectiveTargetNode","maxDepthValid","isValid","draggedLevel","effectiveLevel","applyLevel","targetX","spring","toValue","useNativeDriver","speed","bounciness","start","settled","newTarget","targetNodeId","nextDropNodeId","nextDropPosition","nextDropLevel","lastStore","handleDragEnd","cancel","currentTarget","droppedNodeId","initialTreeViewData","currentData","prevPosition","newData","newPosition","isNoOpMove","index","previousParentId","previousIndex","newParentId","newIndex","scrollOpts","scrollEnabled","enabled","preMoveNodes","draggedIdx","findIndex","finalIndex","rowTop","isOnScreen","postMoveParentMap","ancestorIds","walkId","toCollapse","handleScroll","event","nativeEvent","contentOffset","handleNodeTouchEnd","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderTerminationRequest","onPanResponderMove","evt","pageX","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -152,7 +152,7 @@ export function useScrollToNode(params) {
|
|
|
152
152
|
viewPosition
|
|
153
153
|
});
|
|
154
154
|
} else {
|
|
155
|
-
/* istanbul ignore
|
|
155
|
+
/* istanbul ignore else -- __DEV__ is always true in jest */
|
|
156
156
|
if (__DEV__) {
|
|
157
157
|
console.info("Cannot find the item of the mentioned id to scroll in the rendered tree view list data!");
|
|
158
158
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect,
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
4
|
import { fastIsEqual } from "fast-is-equal";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -11,26 +11,19 @@ import { fastIsEqual } from "fast-is-equal";
|
|
|
11
11
|
* @param deps The dependencies array to compare deeply.
|
|
12
12
|
*/
|
|
13
13
|
export default function useDeepCompareEffect(effect, deps) {
|
|
14
|
-
// Ref to track if it's the first render
|
|
15
|
-
const firstRenderRef = useRef(true);
|
|
16
|
-
|
|
17
|
-
// Memoized dependencies to avoid redundant `isEqual` checks
|
|
18
|
-
const memoizedDependencies = useMemo(() => deps, [deps]);
|
|
19
|
-
|
|
20
14
|
// Ref to store the previous dependencies
|
|
21
|
-
const dependenciesRef = useRef(
|
|
15
|
+
const dependenciesRef = useRef(deps);
|
|
22
16
|
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
// Monotonic change counter: a boolean flag would stay `true` across two
|
|
18
|
+
// consecutive deep changes and useEffect would miss the second one.
|
|
19
|
+
const changeSignalRef = useRef(0);
|
|
20
|
+
if (!fastIsEqual(dependenciesRef.current, deps)) {
|
|
21
|
+
dependenciesRef.current = deps;
|
|
22
|
+
changeSignalRef.current += 1;
|
|
27
23
|
}
|
|
28
|
-
useEffect(() =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return effect();
|
|
33
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
-
}, [dependenciesChanged]); // exclude the effect function from the dependencies
|
|
24
|
+
useEffect(() => effect(),
|
|
25
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
|
+
[changeSignalRef.current] // exclude the effect function from the dependencies
|
|
27
|
+
);
|
|
35
28
|
}
|
|
36
29
|
//# sourceMappingURL=useDeepCompareEffect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","fastIsEqual","useDeepCompareEffect","effect","deps","dependenciesRef","changeSignalRef","current"],"sourceRoot":"../../../src","sources":["utils/useDeepCompareEffect.ts"],"mappings":";;AAAA,SACEA,SAAS,EACTC,MAAM,QAGD,OAAO;AACd,SAASC,WAAW,QAAQ,eAAe;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAC1CC,MAAsB,EACtBC,IAAoB,EACpB;EACA;EACA,MAAMC,eAAe,GAAGL,MAAM,CAAiBI,IAAI,CAAC;;EAEpD;EACA;EACA,MAAME,eAAe,GAAGN,MAAM,CAAC,CAAC,CAAC;EAEjC,IAAI,CAACC,WAAW,CAACI,eAAe,CAACE,OAAO,EAAEH,IAAI,CAAC,EAAE;IAC/CC,eAAe,CAACE,OAAO,GAAGH,IAAI;IAC9BE,eAAe,CAACC,OAAO,IAAI,CAAC;EAC9B;EAEAR,SAAS,CACP,MAAMI,MAAM,CAAC,CAAC;EACd;EACA,CAACG,eAAe,CAACC,OAAO,CAAC,CAAC;EAC5B,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EASN,KAAK,YAAY,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAGX,aAAa,EACb,WAAW,EACX,MAAM,wBAAwB,CAAC;AAiChC,iBAAS,cAAc,CAAC,EAAE,EACzB,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,EACxB,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EASN,KAAK,YAAY,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAGX,aAAa,EACb,WAAW,EACX,MAAM,wBAAwB,CAAC;AAiChC,iBAAS,cAAc,CAAC,EAAE,EACzB,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,EACxB,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,2CAmXlC;AAMD,eAAO,MAAM,QAAQ,GAJ4B,EAAE,SAC3C,aAAa,CAAC,EAAE,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;CAAE,KAC/D,UAAU,CAAC,OAAO,cAAc,CAEyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,SAAS,EAKZ,MAAM,OAAO,CAAC;AACf,OAAO,EAEH,QAAQ,EAGR,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeepCompareEffect.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDeepCompareEffect.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useDeepCompareEffect.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDeepCompareEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAGf;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,QAmBrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tree-multi-select",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Super-fast, customizable tree view component for React Native with drag-and-drop reordering, multi-selection, and search filtering.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/TreeView.tsx
CHANGED
|
@@ -176,7 +176,7 @@ function _innerTreeView<ID>(
|
|
|
176
176
|
|
|
177
177
|
// Reinitialize the store from a tree. Held in a ref so the value stays stable
|
|
178
178
|
// (no dep churn) while always capturing the latest props/store actions.
|
|
179
|
-
const applyDataRef = useRef<(nextData: TreeNode<ID>[]) => void>(() => { });
|
|
179
|
+
const applyDataRef = useRef<(nextData: TreeNode<ID>[]) => void>(/* istanbul ignore next -- placeholder, overwritten on the next line */ () => { });
|
|
180
180
|
applyDataRef.current = (nextData: TreeNode<ID>[]) => {
|
|
181
181
|
// If data matches what was set internally from a drag-drop, skip reinitialize
|
|
182
182
|
if (internalDataRef.current !== null && fastIsEqual(nextData, internalDataRef.current)) {
|
|
@@ -263,6 +263,7 @@ function _innerTreeView<ID>(
|
|
|
263
263
|
// nodeMap/childToParentMap under the drag's feet and corrupt the pending
|
|
264
264
|
// commit (same guard as the deferred data-prop reinit above).
|
|
265
265
|
if (store.getState().draggedNodeId !== null) {
|
|
266
|
+
/* istanbul ignore else -- __DEV__ is always true in jest */
|
|
266
267
|
if (__DEV__) {
|
|
267
268
|
console.warn(
|
|
268
269
|
"[react-native-tree-multi-select] moveNode() ignored: a drag is in progress."
|
|
@@ -323,6 +324,8 @@ function _innerTreeView<ID>(
|
|
|
323
324
|
}
|
|
324
325
|
|
|
325
326
|
const newPosition = findNodePosition(newData, nodeId);
|
|
327
|
+
/* istanbul ignore next -- positions always resolve for a just-committed
|
|
328
|
+
move; the ?? fallbacks are type-level guards */
|
|
326
329
|
return {
|
|
327
330
|
draggedNodeId: nodeId,
|
|
328
331
|
targetNodeId,
|
|
@@ -108,7 +108,7 @@ export const defaultCheckboxViewStyles = StyleSheet.create({
|
|
|
108
108
|
},
|
|
109
109
|
checkboxTextStyle: {
|
|
110
110
|
color: "black",
|
|
111
|
-
/* istanbul ignore next -- Platform.OS is never "android" in jest */
|
|
112
|
-
|
|
111
|
+
marginTop: /* istanbul ignore next -- Platform.OS is never "android" in jest */
|
|
112
|
+
Platform.OS === "android" ? 2 : undefined,
|
|
113
113
|
},
|
|
114
114
|
});
|
|
@@ -257,7 +257,7 @@ function _NodeList<ID>(props: NodeListProps<ID>) {
|
|
|
257
257
|
|
|
258
258
|
// Index only matters for drag touch bookkeeping; keep it stable
|
|
259
259
|
// when drag is off so memoized nodes skip index-shift re-renders
|
|
260
|
-
nodeIndex={dragEnabled ? index :
|
|
260
|
+
nodeIndex={dragEnabled ? index : undefined}
|
|
261
261
|
dragEnabled={dragEnabled}
|
|
262
262
|
isDragging={isDragging}
|
|
263
263
|
onNodeTouchStart={dragEnabled ? handleNodeTouchStart : undefined}
|
|
@@ -327,7 +327,7 @@ function _NodeList<ID>(props: NodeListProps<ID>) {
|
|
|
327
327
|
/* Constant for the whole drag: the level shift toward the
|
|
328
328
|
drop target is expressed via the overlayX translate, not
|
|
329
329
|
a re-render (which caused visible indent flicker). */
|
|
330
|
-
level={draggedNode.level ?? 0}
|
|
330
|
+
level={/* istanbul ignore next -- level is always set by flattenTree */ draggedNode.level ?? 0}
|
|
331
331
|
indentationMultiplier={effectiveIndentationMultiplier}
|
|
332
332
|
CheckboxComponent={CheckboxComponent}
|
|
333
333
|
ExpandCollapseIconComponent={ExpandCollapseIconComponent}
|
|
@@ -427,6 +427,8 @@ function _Node<ID>(props: NodeProps<ID>) {
|
|
|
427
427
|
|
|
428
428
|
const handleTouchStart = useCallback((e: GestureResponderEvent) => {
|
|
429
429
|
wasDraggedRef.current = false;
|
|
430
|
+
/* istanbul ignore next -- touch handlers are only attached when
|
|
431
|
+
dragEnabled, and NodeList always passes both together */
|
|
430
432
|
if (!onNodeTouchStart) return;
|
|
431
433
|
const { pageY, locationY } = e.nativeEvent;
|
|
432
434
|
onNodeTouchStart(node.id, pageY, locationY, nodeIndex);
|
|
@@ -442,6 +444,9 @@ function _Node<ID>(props: NodeProps<ID>) {
|
|
|
442
444
|
// isDraggedNode / isInvalidDropTarget / isDragging props.
|
|
443
445
|
const draggedOpacity = dragDropCustomizations?.draggedNodeOpacity ?? 0.3;
|
|
444
446
|
const invalidOpacity = dragDropCustomizations?.invalidTargetOpacity ?? 0.3;
|
|
447
|
+
/* istanbul ignore next -- invalidOpacity side: invalid targets are the
|
|
448
|
+
dragged node's own descendants, which drag start force-collapses out of
|
|
449
|
+
the rendered list, so a built-in row never renders as an invalid target */
|
|
445
450
|
const nodeOpacity = CustomNodeRowComponent
|
|
446
451
|
? 1.0
|
|
447
452
|
: isDraggingGlobal
|
|
@@ -205,6 +205,8 @@ function removeNodeById<ID>(
|
|
|
205
205
|
if (parent && level.length === 0) {
|
|
206
206
|
parent.children = undefined;
|
|
207
207
|
}
|
|
208
|
+
/* istanbul ignore next -- splice at a found index always yields
|
|
209
|
+
the element; noUncheckedIndexedAccess guard */
|
|
208
210
|
return removed ?? null;
|
|
209
211
|
}
|
|
210
212
|
if (node.children?.length) {
|
package/src/hooks/useDragDrop.ts
CHANGED
|
@@ -40,6 +40,7 @@ import { defaultItemHeight } from "../constants/treeView.constants";
|
|
|
40
40
|
// drag overlay sit ~2 item-heights closer to the finger. This empirical correction
|
|
41
41
|
// (in item-height units, added to dragOverlayOffset) compensates for that. Consumers
|
|
42
42
|
// can override it per-instance via DragAndDropOptions.overlayYCorrection.
|
|
43
|
+
/* istanbul ignore next -- Platform.OS is never "android" in jest */
|
|
43
44
|
const DEFAULT_OVERLAY_Y_CORRECTION = Platform.OS === "android" ? -2 : 0;
|
|
44
45
|
|
|
45
46
|
// Auto-scroll speed at the very edge in px/SECOND, before the proximity ramp
|
|
@@ -197,7 +198,7 @@ export function useDragDrop<ID>(
|
|
|
197
198
|
const lastFingerPageXRef = useRef(0);
|
|
198
199
|
// calculateDropTarget is defined below startAutoScrollLoop; the RAF loop reads
|
|
199
200
|
// it through this ref to avoid a use-before-declaration in the dep array.
|
|
200
|
-
const calculateDropTargetRef = useRef<(fingerPageY: number, fingerPageX: number) => void>(() => { });
|
|
201
|
+
const calculateDropTargetRef = useRef<(fingerPageY: number, fingerPageX: number) => void>(/* istanbul ignore next -- placeholder, overwritten each render */ () => { });
|
|
201
202
|
|
|
202
203
|
// Caches the "every current row is measured" gate so calculateDropTarget
|
|
203
204
|
// doesn't scan the full flattened list on every pan frame. Invalidated when
|
|
@@ -234,6 +235,12 @@ export function useDragDrop<ID>(
|
|
|
234
235
|
const flattenedNodesRef = useRef(flattenedNodes);
|
|
235
236
|
flattenedNodesRef.current = flattenedNodes;
|
|
236
237
|
|
|
238
|
+
// Keep dragEnabled current for the long-press timer: the armed setTimeout
|
|
239
|
+
// captures initiateDrag at press time, so a closure read would see a stale
|
|
240
|
+
// value and start a drag after the consumer disabled dragging mid-press.
|
|
241
|
+
const dragEnabledRef = useRef(dragEnabled);
|
|
242
|
+
dragEnabledRef.current = dragEnabled;
|
|
243
|
+
|
|
237
244
|
// Keep callbacks current
|
|
238
245
|
const onDragStartRef = useRef(onDragStart);
|
|
239
246
|
onDragStartRef.current = onDragStart;
|
|
@@ -357,9 +364,14 @@ export function useDragDrop<ID>(
|
|
|
357
364
|
// --- Initiate drag ---
|
|
358
365
|
const initiateDrag = useCallback(
|
|
359
366
|
(nodeId: ID, pageY: number, locationY: number, nodeIndex: number) => {
|
|
360
|
-
|
|
367
|
+
// Read through the ref: the long-press timer holds the initiateDrag
|
|
368
|
+
// closure from press time, and dragging may have been disabled since.
|
|
369
|
+
if (!dragEnabledRef.current) return;
|
|
361
370
|
// Never start a second drag on top of one already running or pending
|
|
362
371
|
// (e.g. a competing long-press from a second finger).
|
|
372
|
+
/* istanbul ignore next -- handleNodeTouchStart cancels the pending
|
|
373
|
+
long-press timer before arming a new one, so a second initiateDrag
|
|
374
|
+
cannot fire while one is running; kept as defense in depth */
|
|
363
375
|
if (isDraggingRef.current || pendingDragRef.current) return;
|
|
364
376
|
|
|
365
377
|
const container = containerRef.current;
|
|
@@ -426,7 +438,7 @@ export function useDragDrop<ID>(
|
|
|
426
438
|
|
|
427
439
|
// Reset magnetic overlay
|
|
428
440
|
overlayX.setValue(0);
|
|
429
|
-
prevEffectiveLevelRef.current = node.level ?? 0;
|
|
441
|
+
prevEffectiveLevelRef.current = /* istanbul ignore next -- level is always set by flattenTree */ node.level ?? 0;
|
|
430
442
|
cancelLevelSettleTimer();
|
|
431
443
|
|
|
432
444
|
// Set React state
|
|
@@ -493,6 +505,8 @@ export function useDragDrop<ID>(
|
|
|
493
505
|
const startAutoScrollLoop = useCallback(() => {
|
|
494
506
|
// Idempotent: cancel any loop already in flight so a re-entry can never
|
|
495
507
|
// orphan a RAF handle (which would run a second, untracked scroll loop).
|
|
508
|
+
/* istanbul ignore next -- the loop starts once per drag and every drag-end
|
|
509
|
+
path cancels it; re-entry with a live handle is defense in depth */
|
|
496
510
|
if (autoScrollRAFRef.current !== null) {
|
|
497
511
|
cancelAnimationFrame(autoScrollRAFRef.current);
|
|
498
512
|
autoScrollRAFRef.current = null;
|
|
@@ -502,6 +516,8 @@ export function useDragDrop<ID>(
|
|
|
502
516
|
let lastTs: number | null = null;
|
|
503
517
|
let lastRecalcTs = 0;
|
|
504
518
|
const loop = (ts?: number) => {
|
|
519
|
+
/* istanbul ignore next -- stopAutoScroll cancels the pending frame on
|
|
520
|
+
every drag-end path before this could observe a finished drag */
|
|
505
521
|
if (!isDraggingRef.current) return;
|
|
506
522
|
|
|
507
523
|
// Jest's RAF mock invokes the callback without a timestamp.
|
|
@@ -677,6 +693,7 @@ export function useDragDrop<ID>(
|
|
|
677
693
|
let top = 0;
|
|
678
694
|
let idx = 0;
|
|
679
695
|
while (idx < nodes.length - 1) {
|
|
696
|
+
/* istanbul ignore next -- gate guarantees every current row is measured */
|
|
680
697
|
const h = heights.get(nodes[idx]!.id) ?? iH;
|
|
681
698
|
if (adjustedContentY < top + h) break;
|
|
682
699
|
top += h;
|
|
@@ -684,6 +701,7 @@ export function useDragDrop<ID>(
|
|
|
684
701
|
}
|
|
685
702
|
clampedIndex = idx;
|
|
686
703
|
itemTop = top;
|
|
704
|
+
/* istanbul ignore next -- gate guarantees every current row is measured */
|
|
687
705
|
itemHeight = heights.get(nodes[idx]!.id) ?? iH;
|
|
688
706
|
} else {
|
|
689
707
|
const rawIndex = Math.floor(adjustedContentY / iH);
|
|
@@ -692,6 +710,8 @@ export function useDragDrop<ID>(
|
|
|
692
710
|
itemHeight = iH;
|
|
693
711
|
}
|
|
694
712
|
let targetNode = nodes[clampedIndex];
|
|
713
|
+
/* istanbul ignore next -- clampedIndex is clamped into [0, length-1]
|
|
714
|
+
and the empty list bails out above; noUncheckedIndexedAccess guard */
|
|
695
715
|
if (!targetNode) return;
|
|
696
716
|
|
|
697
717
|
// Determine zone within item. Sticky zones: while a zone is active for
|
|
@@ -730,6 +750,7 @@ export function useDragDrop<ID>(
|
|
|
730
750
|
}
|
|
731
751
|
// maxDepth: the dragged subtree at (targetLevel + 1) must not exceed maxDepth
|
|
732
752
|
if (maxDepthRef.current !== undefined) {
|
|
753
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
733
754
|
const targetLevel = targetNode.level ?? 0;
|
|
734
755
|
const deepest = targetLevel + 1 + draggedSubtreeDepthRef.current;
|
|
735
756
|
if (deepest > maxDepthRef.current) return false;
|
|
@@ -756,12 +777,14 @@ export function useDragDrop<ID>(
|
|
|
756
777
|
let visualDropLevel: number | null = null;
|
|
757
778
|
|
|
758
779
|
if (position === "below") {
|
|
780
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
759
781
|
const currentLevel = targetNode.level ?? 0;
|
|
760
782
|
let isCliff = false;
|
|
761
783
|
let shallowLevel = 0;
|
|
762
784
|
|
|
763
785
|
if (clampedIndex < nodes.length - 1) {
|
|
764
786
|
const nextNode = nodes[clampedIndex + 1];
|
|
787
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
765
788
|
const nextLevel = nextNode?.level ?? 0;
|
|
766
789
|
if (nextNode && nextLevel < currentLevel) {
|
|
767
790
|
isCliff = true;
|
|
@@ -788,6 +811,8 @@ export function useDragDrop<ID>(
|
|
|
788
811
|
let walkLevel = currentLevel;
|
|
789
812
|
while (walkLevel > shallowLevel) {
|
|
790
813
|
const parentId = childToParentMap.get(ancestorId);
|
|
814
|
+
/* istanbul ignore next -- a node at level > 0 always
|
|
815
|
+
has a parent in childToParentMap; corrupt-map guard */
|
|
791
816
|
if (parentId === undefined) break;
|
|
792
817
|
ancestorId = parentId;
|
|
793
818
|
walkLevel--;
|
|
@@ -802,7 +827,9 @@ export function useDragDrop<ID>(
|
|
|
802
827
|
}
|
|
803
828
|
if (position === "above" && clampedIndex > 0) {
|
|
804
829
|
const prevNode = nodes[clampedIndex - 1];
|
|
830
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
805
831
|
const prevLevel = prevNode?.level ?? 0;
|
|
832
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
806
833
|
const currentLevel = targetNode.level ?? 0;
|
|
807
834
|
if (prevNode && prevLevel > currentLevel) {
|
|
808
835
|
if (!fingerLeftOfLevelThreshold(prevLevel, fingerLocalX)) {
|
|
@@ -836,7 +863,9 @@ export function useDragDrop<ID>(
|
|
|
836
863
|
if (sameGap) {
|
|
837
864
|
const upperIdx = Math.min(prev.targetIndex, clampedIndex);
|
|
838
865
|
const lowerIdx = Math.max(prev.targetIndex, clampedIndex);
|
|
866
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
839
867
|
const upperLevel = nodes[upperIdx]?.level ?? 0;
|
|
868
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
840
869
|
const lowerLevel = nodes[lowerIdx]?.level ?? 0;
|
|
841
870
|
|
|
842
871
|
if (upperLevel === lowerLevel) {
|
|
@@ -856,6 +885,8 @@ export function useDragDrop<ID>(
|
|
|
856
885
|
// bypassed by the visual/logical split at level cliffs.
|
|
857
886
|
const effectiveTargetId = logicalTargetId ?? targetNode.id;
|
|
858
887
|
const effectivePosition = logicalPosition ?? position;
|
|
888
|
+
/* istanbul ignore next -- the logical ancestor came from
|
|
889
|
+
childToParentMap, so nodeMap always resolves it */
|
|
859
890
|
const effectiveTargetNode =
|
|
860
891
|
logicalTargetId !== null
|
|
861
892
|
? (nodeMap.get(effectiveTargetId) ?? targetNode)
|
|
@@ -866,7 +897,7 @@ export function useDragDrop<ID>(
|
|
|
866
897
|
if (maxDepthRef.current !== undefined && (effectivePosition === "above" || effectivePosition === "below")) {
|
|
867
898
|
// At a cliff the sibling lands at visualDropLevel; otherwise the
|
|
868
899
|
// effective target's own level.
|
|
869
|
-
const targetLevel = visualDropLevel ?? (effectiveTargetNode.level ?? 0);
|
|
900
|
+
const targetLevel = visualDropLevel ?? (/* istanbul ignore next -- level is always set by flattenTree */ effectiveTargetNode.level ?? 0);
|
|
870
901
|
const deepest = targetLevel + draggedSubtreeDepthRef.current;
|
|
871
902
|
if (deepest > maxDepthRef.current) maxDepthValid = false;
|
|
872
903
|
}
|
|
@@ -904,9 +935,11 @@ export function useDragDrop<ID>(
|
|
|
904
935
|
// --- Magnetic overlay: update the effective level so the overlay
|
|
905
936
|
// renders its content at the correct indentation natively.
|
|
906
937
|
// A brief translateX spring provides a smooth transition. ---
|
|
938
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
907
939
|
const draggedLevel = draggedNodeRef.current?.level ?? 0;
|
|
908
940
|
// When a logical target overrides the visual (e.g. ancestor at last-item cliff),
|
|
909
941
|
// the effective level comes from the visual drop level, not the target node.
|
|
942
|
+
/* istanbul ignore next -- level is always set by flattenTree */
|
|
910
943
|
const effectiveLevel = isValid
|
|
911
944
|
? (visualDropLevel !== null
|
|
912
945
|
? visualDropLevel // "below" ancestor → sibling at that level
|
|
@@ -927,7 +960,7 @@ export function useDragDrop<ID>(
|
|
|
927
960
|
const applyLevel = (nextLevel: number) => {
|
|
928
961
|
prevEffectiveLevelRef.current = nextLevel;
|
|
929
962
|
const targetX =
|
|
930
|
-
(nextLevel - (draggedNodeRef.current?.level ?? 0)) *
|
|
963
|
+
(nextLevel - (/* istanbul ignore next -- level is always set by flattenTree */ draggedNodeRef.current?.level ?? 0)) *
|
|
931
964
|
indentationMultiplierRef.current;
|
|
932
965
|
if (magneticSnapRef.current) {
|
|
933
966
|
Animated.spring(overlayX, {
|
|
@@ -960,6 +993,8 @@ export function useDragDrop<ID>(
|
|
|
960
993
|
levelSettleTimerRef.current = null;
|
|
961
994
|
const settled = pendingLevelRef.current;
|
|
962
995
|
pendingLevelRef.current = null;
|
|
996
|
+
/* istanbul ignore next -- every drag-end path clears this timer,
|
|
997
|
+
so it can only fire mid-drag with a pending level set */
|
|
963
998
|
if (settled !== null && isDraggingRef.current) applyLevel(settled);
|
|
964
999
|
}, LEVEL_SETTLE_MS);
|
|
965
1000
|
}
|
|
@@ -1026,6 +1061,8 @@ export function useDragDrop<ID>(
|
|
|
1026
1061
|
cancelLongPressTimer();
|
|
1027
1062
|
cancelAutoExpandTimer();
|
|
1028
1063
|
|
|
1064
|
+
/* istanbul ignore next -- release/terminate only fire while the
|
|
1065
|
+
responder is captured (mid-drag); touch-end guards before calling */
|
|
1029
1066
|
if (!isDraggingRef.current) return;
|
|
1030
1067
|
isDraggingRef.current = false;
|
|
1031
1068
|
|
|
@@ -1035,7 +1072,7 @@ export function useDragDrop<ID>(
|
|
|
1035
1072
|
// on (clearing it here would let the release snap to the other side of an
|
|
1036
1073
|
// ambiguous same-level boundary). It is reset in the ref-cleanup below.
|
|
1037
1074
|
if (fingerPageY !== undefined) {
|
|
1038
|
-
calculateDropTarget(fingerPageY, fingerPageX ?? 0);
|
|
1075
|
+
calculateDropTarget(fingerPageY, /* istanbul ignore next -- gesture events always carry pageX */ fingerPageX ?? 0);
|
|
1039
1076
|
}
|
|
1040
1077
|
|
|
1041
1078
|
// Cancel any auto-expand timer that calculateDropTarget may have just started.
|
|
@@ -1045,6 +1082,7 @@ export function useDragDrop<ID>(
|
|
|
1045
1082
|
// Read the final drop target from the ref (the per-frame calculation
|
|
1046
1083
|
// keeps it current; there is no React state to wait on).
|
|
1047
1084
|
const currentTarget = dropTargetRef.current;
|
|
1085
|
+
/* istanbul ignore next -- draggedNodeRef is set for the whole drag */
|
|
1048
1086
|
const droppedNodeId = draggedNodeRef.current?.id ?? null;
|
|
1049
1087
|
|
|
1050
1088
|
const store = getTreeViewStore<ID>(storeId);
|
|
@@ -1052,6 +1090,7 @@ export function useDragDrop<ID>(
|
|
|
1052
1090
|
store.getState();
|
|
1053
1091
|
// Capture the node's position before the move for the MoveResult delta
|
|
1054
1092
|
// (the maps still describe the pre-move tree here).
|
|
1093
|
+
/* istanbul ignore next -- droppedNodeId is non-null on this path */
|
|
1055
1094
|
const prevPosition = droppedNodeId !== null
|
|
1056
1095
|
? findNodePositionFromMaps(currentData, nodeMap, childToParentMap, droppedNodeId)
|
|
1057
1096
|
: null;
|
|
@@ -1087,6 +1126,8 @@ export function useDragDrop<ID>(
|
|
|
1087
1126
|
// Notify the consumer with a lightweight move delta. The reordered
|
|
1088
1127
|
// tree lives in the store; TreeView's wrapped onDragEnd captures it
|
|
1089
1128
|
// for the reinit-skip, and consumers can read it via getTreeData().
|
|
1129
|
+
/* istanbul ignore next -- positions always resolve for a
|
|
1130
|
+
just-committed move; ?? fallbacks are type-level guards */
|
|
1090
1131
|
onDragEndRef.current?.({
|
|
1091
1132
|
draggedNodeId: droppedNodeId,
|
|
1092
1133
|
targetNodeId: currentTarget.targetNodeId,
|
|
@@ -1098,6 +1139,7 @@ export function useDragDrop<ID>(
|
|
|
1098
1139
|
});
|
|
1099
1140
|
|
|
1100
1141
|
// Announce the result for screen readers (no-op without assistive tech).
|
|
1142
|
+
/* istanbul ignore next -- draggedNodeRef is set for the whole drag */
|
|
1101
1143
|
AccessibilityInfo.announceForAccessibility?.(
|
|
1102
1144
|
`Moved ${draggedNodeRef.current?.name ?? "node"}`
|
|
1103
1145
|
);
|
|
@@ -1137,13 +1179,16 @@ export function useDragDrop<ID>(
|
|
|
1137
1179
|
);
|
|
1138
1180
|
}
|
|
1139
1181
|
}
|
|
1140
|
-
} else
|
|
1182
|
+
} else /* istanbul ignore next -- droppedNodeId is non-null whenever
|
|
1183
|
+
a drag was active; the guard mirrors the commit branch above */
|
|
1184
|
+
if (droppedNodeId !== null) {
|
|
1141
1185
|
// Drag ended without a valid drop - a cancel must not mutate state,
|
|
1142
1186
|
// so restore the expansion that drag start force-collapsed.
|
|
1143
1187
|
if (wasDraggedNodeExpandedRef.current) {
|
|
1144
1188
|
expandNodes(storeId, [droppedNodeId]);
|
|
1145
1189
|
}
|
|
1146
1190
|
onDragCancelRef.current?.({ draggedNodeId: droppedNodeId });
|
|
1191
|
+
/* istanbul ignore next -- draggedNodeRef is set for the whole drag */
|
|
1147
1192
|
AccessibilityInfo.announceForAccessibility?.(
|
|
1148
1193
|
`Cancelled moving ${draggedNodeRef.current?.name ?? "node"}`
|
|
1149
1194
|
);
|