react-native-tree-multi-select 3.0.0-beta.4 → 3.0.0-beta.5
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/README.md +20 -10
- package/lib/module/components/NodeList.js +7 -4
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/helpers/moveTreeNode.helper.js +1 -1
- package/lib/module/helpers/toggleCheckbox.helper.js +1 -1
- package/lib/module/hooks/useDragDrop.js +41 -55
- package/lib/module/hooks/useDragDrop.js.map +1 -1
- package/lib/module/hooks/useScrollToNode.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/NodeList.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useDragDrop.d.ts +6 -1
- package/lib/typescript/src/hooks/useDragDrop.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/treeView.types.d.ts +11 -1
- package/lib/typescript/src/types/treeView.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/NodeList.tsx +5 -2
- package/src/helpers/moveTreeNode.helper.ts +1 -1
- package/src/helpers/toggleCheckbox.helper.ts +1 -1
- package/src/hooks/useDragDrop.ts +48 -60
- package/src/hooks/useScrollToNode.ts +1 -1
- package/src/index.tsx +2 -0
- package/src/types/treeView.types.ts +12 -1
package/README.md
CHANGED
|
@@ -193,13 +193,14 @@ For visual customizations (overlay styles, indicator colors, or fully custom com
|
|
|
193
193
|
| `longPressDuration` | `number` | No | Long press duration in ms to start drag (default: 400) |
|
|
194
194
|
| `autoScrollThreshold` | `number` | No | Distance from edge (px) to trigger auto-scroll (default: 60) |
|
|
195
195
|
| `autoScrollSpeed` | `number` | No | Speed multiplier for auto-scroll (default: 1.0) |
|
|
196
|
-
| `dragOverlayOffset` | `number` | No | Overlay offset from the finger, in item-height units (default: -
|
|
196
|
+
| `dragOverlayOffset` | `number` | No | Overlay offset from the finger, in item-height units (default: -2, i.e. two rows above finger) |
|
|
197
197
|
| `autoExpandDelay` | `number` | No | Delay in ms before auto-expanding a collapsed node during drag hover (default: 800) |
|
|
198
198
|
| `customizations` | [DragDropCustomizations](#dragdropcustomizationsid)`<ID>` | No | Customizations for drag-and-drop visuals (overlay, indicator, opacity) |
|
|
199
199
|
| `canDrop` | `(draggedNode, targetNode, position) => boolean` | No | Callback to determine if a node can be dropped on a specific target |
|
|
200
200
|
| `maxDepth` | `number` | No | Maximum nesting depth allowed. Drops exceeding this are suppressed |
|
|
201
201
|
| `canNodeHaveChildren` | `(node: TreeNode<ID>) => boolean` | No | Callback to determine if a node can accept children |
|
|
202
202
|
| `canDrag` | `(node: TreeNode<ID>) => boolean` | No | Callback to determine if a node can be dragged (default: all nodes) |
|
|
203
|
+
| `autoScrollToDroppedNode` | `boolean \| DropAutoScrollOptions` | No | Auto-scroll to the dropped node after a successful drop. Pass `false` to disable, `true` for defaults, or an object to customize. Default: `{ enabled: true, animated: true, viewPosition: 0.5 }` |
|
|
203
204
|
|
|
204
205
|
##### Notes
|
|
205
206
|
|
|
@@ -211,7 +212,7 @@ For visual customizations (overlay styles, indicator colors, or fully custom com
|
|
|
211
212
|
1. `BuiltInCheckBoxViewStyleProps`
|
|
212
213
|
1. `ExpandCollapseIconComponent`
|
|
213
214
|
1. `ExpandCollapseTouchableComponent`
|
|
214
|
-
1. `dragAndDrop.customizations.draggedNodeOpacity` / `invalidTargetOpacity`
|
|
215
|
+
1. `dragAndDrop.customizations.draggedNodeOpacity` / `invalidTargetOpacity` - the custom component receives `isDraggedNode`, `isInvalidDropTarget`, and `isDragging` props and is responsible for its own drag-state visuals.
|
|
215
216
|
|
|
216
217
|
- ⚠️ If the tree view doesn't scroll if rendered in a complex nested scroll view/s then try setting the `renderScrollComponent` value in `treeFlashListProps` to `ScrollView` from `react-native-gesture-handler`.
|
|
217
218
|
|
|
@@ -386,6 +387,19 @@ Type: `"above"` | `"below"` | `"inside"`
|
|
|
386
387
|
|
|
387
388
|
---
|
|
388
389
|
|
|
390
|
+
#### DropAutoScrollOptions
|
|
391
|
+
|
|
392
|
+
*Options for auto-scrolling to the dropped node after a successful drop. Uses the same scroll parameters as [`scrollToNodeID`](#scrolltonodeparams).*
|
|
393
|
+
|
|
394
|
+
| Property | Type | Required | Description |
|
|
395
|
+
| -------------- | --------- | -------- | --------------------------------------------------------------- |
|
|
396
|
+
| `enabled` | `boolean` | No | Enable auto-scroll to the dropped node (default: true) |
|
|
397
|
+
| `animated` | `boolean` | No | Whether the scroll should be animated (default: true) |
|
|
398
|
+
| `viewOffset` | `number` | No | Fixed offset from the target position (in pixels) |
|
|
399
|
+
| `viewPosition` | `number` | No | Position in the viewport: 0 = top, 0.5 = center, 1 = bottom (default: 0.5) |
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
389
403
|
#### DragDropCustomizations`<ID>`
|
|
390
404
|
|
|
391
405
|
*Customizations for drag-and-drop visuals.*
|
|
@@ -504,14 +518,6 @@ MIT
|
|
|
504
518
|
## 🙏 Support the project
|
|
505
519
|
|
|
506
520
|
<p align="center" valign="center">
|
|
507
|
-
<a href="https://liberapay.com/FutureJJ/donate">
|
|
508
|
-
<img src="https://liberapay.com/assets/widgets/donate.svg" alt="LiberPay_Donation_Button" height="50" >
|
|
509
|
-
</a>
|
|
510
|
-
|
|
511
|
-
<a href=".github/assets/Jairaj_Jangle_Google_Pay_UPI_QR_Code.jpg">
|
|
512
|
-
<img src=".github/assets/upi.png" alt="Paypal_Donation_Button" height="50" >
|
|
513
|
-
</a>
|
|
514
|
-
|
|
515
521
|
<a href="https://www.paypal.com/paypalme/jairajjangle001/usd">
|
|
516
522
|
<img src=".github/assets/paypal_donate.png" alt="Paypal_Donation_Button" height="50" >
|
|
517
523
|
</a>
|
|
@@ -519,6 +525,10 @@ MIT
|
|
|
519
525
|
<a href="https://github.com/sponsors/JairajJangle">
|
|
520
526
|
<img src=".github/assets/github_sponsor.svg" alt="GitHub_Sponsor_Button" height="50" >
|
|
521
527
|
</a>
|
|
528
|
+
|
|
529
|
+
<a href="https://liberapay.com/FutureJJ/donate">
|
|
530
|
+
<img src=".github/assets/liberapay_donate.svg" alt="Liberapay_Donation_Button" height="50" >
|
|
531
|
+
</a>
|
|
522
532
|
</p>
|
|
523
533
|
|
|
524
534
|
|
|
@@ -38,13 +38,14 @@ function _NodeList(props) {
|
|
|
38
38
|
longPressDuration = 400,
|
|
39
39
|
autoScrollThreshold = 60,
|
|
40
40
|
autoScrollSpeed = 1.0,
|
|
41
|
-
dragOverlayOffset = -
|
|
41
|
+
dragOverlayOffset = -2,
|
|
42
42
|
autoExpandDelay = 800,
|
|
43
43
|
customizations: dragDropCustomizations,
|
|
44
44
|
canDrop: canDropCallback,
|
|
45
45
|
maxDepth,
|
|
46
46
|
canNodeHaveChildren,
|
|
47
|
-
canDrag
|
|
47
|
+
canDrag,
|
|
48
|
+
autoScrollToDroppedNode
|
|
48
49
|
} = dragAndDrop ?? {};
|
|
49
50
|
|
|
50
51
|
// When the dragAndDrop prop is provided, drag is enabled by default.
|
|
@@ -127,7 +128,9 @@ function _NodeList(props) {
|
|
|
127
128
|
canDrop: canDropCallback,
|
|
128
129
|
maxDepth,
|
|
129
130
|
canNodeHaveChildren,
|
|
130
|
-
canDrag
|
|
131
|
+
canDrag,
|
|
132
|
+
scrollToNodeHandlerRef,
|
|
133
|
+
autoScrollToDroppedNode
|
|
131
134
|
});
|
|
132
135
|
|
|
133
136
|
// Combined onScroll handler
|
|
@@ -287,7 +290,7 @@ function _Node(props) {
|
|
|
287
290
|
|
|
288
291
|
// Determine opacity for drag state (separate values for dragged node vs invalid targets).
|
|
289
292
|
// When CustomNodeRowComponent is used, hand off all visual control
|
|
290
|
-
// (including drag opacity) to the custom component
|
|
293
|
+
// (including drag opacity) to the custom component - it receives
|
|
291
294
|
// isDraggedNode / isInvalidDropTarget / isDragging props.
|
|
292
295
|
const draggedOpacity = dragDropCustomizations?.draggedNodeOpacity ?? 0.3;
|
|
293
296
|
const invalidOpacity = dragDropCustomizations?.invalidTargetOpacity ?? 0.3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","TouchableOpacity","FlashList","useTreeViewStore","getFilteredTreeData","getFlattenedTreeData","getCheckboxValue","getInnerMostChildrenIdsInTree","handleToggleExpand","toggleCheckboxes","CheckboxView","CustomExpandCollapseIcon","DragOverlay","defaultIndentationMultiplier","listHeaderFooterPadding","useShallow","typedMemo","useScrollToNode","useDragDrop","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NodeList","_NodeList","props","storeId","scrollToNodeHandlerRef","initialScrollNodeID","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","dragAndDrop","enabled","_dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","dragOverlayOffset","autoExpandDelay","customizations","dragDropCustomizations","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","dragEnabled","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","state","flashListRef","containerRef","internalDataRef","measuredItemHeightRef","handleItemLayout","height","current","initialScrollIndex","setInitialScrollIndex","filteredTree","trim","toLowerCase","flattenedFilteredNodes","updatedInnerMostChildrenIds","effectiveIndentationMultiplier","panResponder","overlayY","overlayX","isDragging","draggedNode","effectiveDropLevel","handleNodeTouchStart","handleNodeTouchEnd","cancelLongPressTimer","scrollOffsetRef","flattenedNodes","handleScroll","event","nativeEvent","contentOffset","y","onScroll","nodeRenderer","item","index","Node","node","level","nodeIndex","onNodeTouchStart","undefined","onNodeTouchEnd","onItemLayout","_userOnScroll","restFlashListProps","flashListElement","ref","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","ListHeaderComponent","HeaderFooterView","ListFooterComponent","scrollEnabled","data","renderItem","children","style","styles","dragContainer","panHandlers","padding","_Node","isDraggingGlobal","isExpanded","value","isBeingDragged","isDragInvalid","isDropTarget","nodeDropPosition","nodeDropLevel","has","id","checked","indeterminate","draggedNodeId","invalidDragTargetIds","dropTargetNodeId","dropPosition","dropLevel","wasDraggedRef","_onToggleExpand","_onCheck","handleTouchStart","e","pageY","locationY","handleTouchEnd","draggedOpacity","draggedNodeOpacity","invalidOpacity","invalidTargetOpacity","nodeOpacity","handleLayout","layout","touchHandlers","onTouchStart","onTouchEnd","onTouchCancel","CustomDropIndicator","CustomDropIndicatorComponent","indicatorLevel","dropIndicator","position","NodeDropIndicator","styleProps","dropIndicatorStyleProps","testID","onLayout","nodeCheckboxAndArrowRow","paddingStart","opacity","nodeOverflowVisible","text","name","onValueChange","length","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","isInvalidDropTarget","isDraggedNode","dragHandleProps","lineColor","lineThickness","circleSize","highlightColor","highlightBorderColor","leftOffset","pointerEvents","dropHighlight","left","backgroundColor","borderColor","safeLeftOffset","Math","max","dropLineContainer","dropLineTop","dropLineBottom","width","borderRadius","marginLeft","dropLine","create","flex","flexDirection","alignItems","minWidth","top","bottom","right","borderWidth","zIndex","overflow"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","TouchableOpacity","FlashList","useTreeViewStore","getFilteredTreeData","getFlattenedTreeData","getCheckboxValue","getInnerMostChildrenIdsInTree","handleToggleExpand","toggleCheckboxes","CheckboxView","CustomExpandCollapseIcon","DragOverlay","defaultIndentationMultiplier","listHeaderFooterPadding","useShallow","typedMemo","useScrollToNode","useDragDrop","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NodeList","_NodeList","props","storeId","scrollToNodeHandlerRef","initialScrollNodeID","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","dragAndDrop","enabled","_dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","dragOverlayOffset","autoExpandDelay","customizations","dragDropCustomizations","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","autoScrollToDroppedNode","dragEnabled","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","state","flashListRef","containerRef","internalDataRef","measuredItemHeightRef","handleItemLayout","height","current","initialScrollIndex","setInitialScrollIndex","filteredTree","trim","toLowerCase","flattenedFilteredNodes","updatedInnerMostChildrenIds","effectiveIndentationMultiplier","panResponder","overlayY","overlayX","isDragging","draggedNode","effectiveDropLevel","handleNodeTouchStart","handleNodeTouchEnd","cancelLongPressTimer","scrollOffsetRef","flattenedNodes","handleScroll","event","nativeEvent","contentOffset","y","onScroll","nodeRenderer","item","index","Node","node","level","nodeIndex","onNodeTouchStart","undefined","onNodeTouchEnd","onItemLayout","_userOnScroll","restFlashListProps","flashListElement","ref","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","ListHeaderComponent","HeaderFooterView","ListFooterComponent","scrollEnabled","data","renderItem","children","style","styles","dragContainer","panHandlers","padding","_Node","isDraggingGlobal","isExpanded","value","isBeingDragged","isDragInvalid","isDropTarget","nodeDropPosition","nodeDropLevel","has","id","checked","indeterminate","draggedNodeId","invalidDragTargetIds","dropTargetNodeId","dropPosition","dropLevel","wasDraggedRef","_onToggleExpand","_onCheck","handleTouchStart","e","pageY","locationY","handleTouchEnd","draggedOpacity","draggedNodeOpacity","invalidOpacity","invalidTargetOpacity","nodeOpacity","handleLayout","layout","touchHandlers","onTouchStart","onTouchEnd","onTouchCancel","CustomDropIndicator","CustomDropIndicatorComponent","indicatorLevel","dropIndicator","position","NodeDropIndicator","styleProps","dropIndicatorStyleProps","testID","onLayout","nodeCheckboxAndArrowRow","paddingStart","opacity","nodeOverflowVisible","text","name","onValueChange","length","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","isInvalidDropTarget","isDraggedNode","dragHandleProps","lineColor","lineThickness","circleSize","highlightColor","highlightBorderColor","leftOffset","pointerEvents","dropHighlight","left","backgroundColor","borderColor","safeLeftOffset","Math","max","dropLineContainer","dropLineTop","dropLineBottom","width","borderRadius","marginLeft","dropLine","create","flex","flexDirection","alignItems","minWidth","top","bottom","right","borderWidth","zIndex","overflow"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,7 +34,7 @@ export function moveTreeNode(data, draggedNodeId, targetNodeId, position) {
|
|
|
34
34
|
function isDescendant(nodes, ancestorId, candidateDescendantId) {
|
|
35
35
|
for (const node of nodes) {
|
|
36
36
|
if (node.id === ancestorId) {
|
|
37
|
-
// Found the ancestor
|
|
37
|
+
// Found the ancestor - search its subtree for the candidate
|
|
38
38
|
return containsNode(node.children ?? [], candidateDescendantId);
|
|
39
39
|
}
|
|
40
40
|
if (node.children && isDescendant(node.children, ancestorId, candidateDescendantId)) {
|
|
@@ -250,7 +250,7 @@ export function recalculateCheckedStates(storeId) {
|
|
|
250
250
|
// Update each parent based on its children's current state
|
|
251
251
|
for (const parentId of parentNodes) {
|
|
252
252
|
const node = nodeMap.get(parentId);
|
|
253
|
-
/* istanbul ignore next -- parentNodes is built from nodeMap entries with children above; same nodeMap, same iteration
|
|
253
|
+
/* istanbul ignore next -- parentNodes is built from nodeMap entries with children above; same nodeMap, same iteration - unreachable unless nodeMap mutates between loops */
|
|
254
254
|
if (!node?.children?.length) continue;
|
|
255
255
|
updateParentCheckState(parentId, node.children, tempChecked, tempIndeterminate);
|
|
256
256
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
-
import { Animated, PanResponder } from "react-native";
|
|
4
|
+
import { Animated, PanResponder, Platform } from "react-native";
|
|
5
5
|
import { getTreeViewStore } from "../store/treeView.store.js";
|
|
6
6
|
import { collapseNodes, expandNodes, handleToggleExpand, initializeNodeMaps, recalculateCheckedStates } from "../helpers/index.js";
|
|
7
7
|
import { moveTreeNode } from "../helpers/moveTreeNode.helper.js";
|
|
8
8
|
import { listHeaderFooterPadding } from "../constants/treeView.constants.js";
|
|
9
|
+
|
|
10
|
+
// Android reports locationY slightly differently, causing the overlay
|
|
11
|
+
// to appear ~1 item height closer to the finger than on iOS.
|
|
12
|
+
const PLATFORM_OVERLAY_Y_CORRECTION = Platform.OS === "android" ? -2 : 0;
|
|
9
13
|
export function useDragDrop(params) {
|
|
10
14
|
const {
|
|
11
15
|
storeId,
|
|
@@ -27,7 +31,9 @@ export function useDragDrop(params) {
|
|
|
27
31
|
canDrop: canDropCallback,
|
|
28
32
|
maxDepth,
|
|
29
33
|
canNodeHaveChildren,
|
|
30
|
-
canDrag
|
|
34
|
+
canDrag,
|
|
35
|
+
scrollToNodeHandlerRef,
|
|
36
|
+
autoScrollToDroppedNode
|
|
31
37
|
} = params;
|
|
32
38
|
|
|
33
39
|
// --- Refs for mutable state (no stale closures in PanResponder) ---
|
|
@@ -38,6 +44,7 @@ export function useDragDrop(params) {
|
|
|
38
44
|
const longPressTimerRef = useRef(null);
|
|
39
45
|
const containerPageXRef = useRef(0);
|
|
40
46
|
const containerPageYRef = useRef(0);
|
|
47
|
+
const containerWidthRef = useRef(0);
|
|
41
48
|
const containerHeightRef = useRef(0);
|
|
42
49
|
const grabOffsetYRef = useRef(0);
|
|
43
50
|
const scrollOffsetRef = useRef(0);
|
|
@@ -158,9 +165,10 @@ export function useDragDrop(params) {
|
|
|
158
165
|
if (!dragEnabled) return;
|
|
159
166
|
const container = containerRef.current;
|
|
160
167
|
if (!container) return;
|
|
161
|
-
container.measureInWindow((x, y,
|
|
168
|
+
container.measureInWindow((x, y, w, h) => {
|
|
162
169
|
containerPageXRef.current = x;
|
|
163
170
|
containerPageYRef.current = y;
|
|
171
|
+
containerWidthRef.current = w;
|
|
164
172
|
containerHeightRef.current = h;
|
|
165
173
|
|
|
166
174
|
// Find the node in flattened list
|
|
@@ -211,7 +219,7 @@ export function useDragDrop(params) {
|
|
|
211
219
|
store.getState().updateInvalidDragTargetIds(descendants);
|
|
212
220
|
|
|
213
221
|
// Set overlay initial position (with configurable offset)
|
|
214
|
-
const overlayLocalY = fingerLocalY - locationY + dragOverlayOffsetRef.current * itemHeightRef.current;
|
|
222
|
+
const overlayLocalY = fingerLocalY - locationY + (dragOverlayOffsetRef.current + PLATFORM_OVERLAY_Y_CORRECTION) * itemHeightRef.current;
|
|
215
223
|
overlayY.setValue(overlayLocalY);
|
|
216
224
|
|
|
217
225
|
// Reset magnetic overlay
|
|
@@ -323,9 +331,9 @@ export function useDragDrop(params) {
|
|
|
323
331
|
// Determine zone within item
|
|
324
332
|
const positionInItem = (adjustedContentY - clampedIndex * iH) / iH;
|
|
325
333
|
let position;
|
|
326
|
-
if (positionInItem < 0.
|
|
334
|
+
if (positionInItem < 0.25) {
|
|
327
335
|
position = "above";
|
|
328
|
-
} else if (positionInItem > 0.
|
|
336
|
+
} else if (positionInItem > 0.75) {
|
|
329
337
|
position = "below";
|
|
330
338
|
} else {
|
|
331
339
|
position = "inside";
|
|
@@ -363,7 +371,7 @@ export function useDragDrop(params) {
|
|
|
363
371
|
let logicalTargetId = null;
|
|
364
372
|
let logicalPosition = null;
|
|
365
373
|
let visualDropLevel = null;
|
|
366
|
-
if (position === "below"
|
|
374
|
+
if (position === "below") {
|
|
367
375
|
const currentLevel = targetNode.level ?? 0;
|
|
368
376
|
let isCliff = false;
|
|
369
377
|
let shallowLevel = 0;
|
|
@@ -380,9 +388,9 @@ export function useDragDrop(params) {
|
|
|
380
388
|
shallowLevel = 0;
|
|
381
389
|
}
|
|
382
390
|
if (isCliff) {
|
|
383
|
-
//
|
|
384
|
-
const
|
|
385
|
-
const threshold =
|
|
391
|
+
// Midpoint of the item's visible content area
|
|
392
|
+
const itemLeftEdge = currentLevel * indentationMultiplierRef.current;
|
|
393
|
+
const threshold = itemLeftEdge + (containerWidthRef.current - itemLeftEdge) * 0.3;
|
|
386
394
|
if (fingerLocalX < threshold) {
|
|
387
395
|
// User wants the shallow level
|
|
388
396
|
if (clampedIndex < nodes.length - 1) {
|
|
@@ -417,9 +425,8 @@ export function useDragDrop(params) {
|
|
|
417
425
|
const prevLevel = prevNode?.level ?? 0;
|
|
418
426
|
const currentLevel = targetNode.level ?? 0;
|
|
419
427
|
if (prevNode && prevLevel > currentLevel) {
|
|
420
|
-
|
|
421
|
-
const
|
|
422
|
-
const threshold = (prevLevel + currentLevel) / 2 * indent + indent * 2;
|
|
428
|
+
const itemLeftEdge = prevLevel * indentationMultiplierRef.current;
|
|
429
|
+
const threshold = itemLeftEdge + (containerWidthRef.current - itemLeftEdge) * 0.3;
|
|
423
430
|
if (fingerLocalX >= threshold) {
|
|
424
431
|
clampedIndex = clampedIndex - 1;
|
|
425
432
|
targetNode = prevNode;
|
|
@@ -428,26 +435,15 @@ export function useDragDrop(params) {
|
|
|
428
435
|
}
|
|
429
436
|
}
|
|
430
437
|
|
|
431
|
-
// --- Suppress "below" when it's
|
|
432
|
-
//
|
|
433
|
-
//
|
|
434
|
-
//
|
|
438
|
+
// --- Suppress "below" when it's semantically confusing ---
|
|
439
|
+
// For expanded parents, "below" visually sits at the parent/child
|
|
440
|
+
// junction but semantically inserts as a sibling after the entire
|
|
441
|
+
// subtree. Convert to "inside" which is clearer.
|
|
435
442
|
if (position === "below" && canDropInsideTarget) {
|
|
436
443
|
const expandedSet = getTreeViewStore(storeId).getState().expanded;
|
|
437
|
-
|
|
438
|
-
// (a) Expanded parent: "below" visually sits at the parent/child junction
|
|
439
|
-
// but semantically inserts as a sibling after the entire subtree.
|
|
440
444
|
if (targetNode.children?.length && expandedSet.has(targetNode.id)) {
|
|
441
445
|
position = "inside";
|
|
442
446
|
}
|
|
443
|
-
// (b) No level cliff below: convert to "inside" so the highlight
|
|
444
|
-
// covers the full bottom of the node.
|
|
445
|
-
else if (clampedIndex < nodes.length - 1) {
|
|
446
|
-
const nextNode = nodes[clampedIndex + 1];
|
|
447
|
-
if (nextNode && (nextNode.level ?? 0) >= (targetNode.level ?? 0)) {
|
|
448
|
-
position = "inside";
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
447
|
}
|
|
452
448
|
|
|
453
449
|
// --- Hysteresis: prevent flicker between "below N" and "above N+1" ---
|
|
@@ -501,7 +497,7 @@ export function useDragDrop(params) {
|
|
|
501
497
|
autoExpandTimerRef.current = setTimeout(() => {
|
|
502
498
|
autoExpandTimerRef.current = null;
|
|
503
499
|
// Expand the node and track it
|
|
504
|
-
|
|
500
|
+
expandNodes(storeId, [targetNode.id]);
|
|
505
501
|
autoExpandedDuringDragRef.current.add(targetNode.id);
|
|
506
502
|
}, autoExpandDelayRef.current);
|
|
507
503
|
}
|
|
@@ -631,32 +627,22 @@ export function useDragDrop(params) {
|
|
|
631
627
|
newTreeData: newData
|
|
632
628
|
});
|
|
633
629
|
|
|
634
|
-
//
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
// Already in view → no scroll needed
|
|
649
|
-
if (estimatedTop >= scrollTop && estimatedBottom <= scrollTop + containerH) {
|
|
650
|
-
return;
|
|
651
|
-
}
|
|
652
|
-
flashListRef.current?.scrollToIndex?.({
|
|
653
|
-
index: idx,
|
|
654
|
-
animated: true,
|
|
655
|
-
viewPosition: 0.5
|
|
656
|
-
});
|
|
657
|
-
}, 100);
|
|
630
|
+
// Auto-scroll to the dropped node unless disabled by the user.
|
|
631
|
+
const scrollOpts = autoScrollToDroppedNode;
|
|
632
|
+
const scrollEnabled = scrollOpts === undefined || scrollOpts === true || typeof scrollOpts === "object" && scrollOpts.enabled !== false;
|
|
633
|
+
if (scrollEnabled) {
|
|
634
|
+
const custom = typeof scrollOpts === "object" ? scrollOpts : {};
|
|
635
|
+
setTimeout(() => {
|
|
636
|
+
scrollToNodeHandlerRef.current?.scrollToNodeID({
|
|
637
|
+
nodeId: droppedNodeId,
|
|
638
|
+
animated: custom.animated ?? true,
|
|
639
|
+
viewPosition: custom.viewPosition ?? 0.5,
|
|
640
|
+
viewOffset: custom.viewOffset
|
|
641
|
+
});
|
|
642
|
+
}, 0);
|
|
643
|
+
}
|
|
658
644
|
} else if (droppedNodeId !== null) {
|
|
659
|
-
// Drag ended without a valid drop
|
|
645
|
+
// Drag ended without a valid drop - notify consumer
|
|
660
646
|
onDragCancelRef.current?.({
|
|
661
647
|
draggedNodeId: droppedNodeId
|
|
662
648
|
});
|
|
@@ -737,7 +723,7 @@ export function useDragDrop(params) {
|
|
|
737
723
|
const fingerLocalY = fingerPageY - containerPageYRef.current;
|
|
738
724
|
|
|
739
725
|
// Update overlay position (with configurable offset)
|
|
740
|
-
const overlayLocalY = fingerLocalY - grabOffsetYRef.current + dragOverlayOffsetRef.current * itemHeightRef.current;
|
|
726
|
+
const overlayLocalY = fingerLocalY - grabOffsetYRef.current + (dragOverlayOffsetRef.current + PLATFORM_OVERLAY_Y_CORRECTION) * itemHeightRef.current;
|
|
741
727
|
overlayY.setValue(overlayLocalY);
|
|
742
728
|
|
|
743
729
|
// Calculate drop target (horizontal position used at level cliffs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","PanResponder","getTreeViewStore","collapseNodes","expandNodes","handleToggleExpand","initializeNodeMaps","recalculateCheckedStates","moveTreeNode","listHeaderFooterPadding","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","internalDataRef","measuredItemHeightRef","dragOverlayOffset","autoExpandDelay","indentationMultiplier","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","isDraggingRef","draggedNodeRef","draggedNodeIdRef","draggedNodeIndexRef","longPressTimerRef","containerPageXRef","containerPageYRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","overlayX","prevEffectiveLevelRef","autoScrollRAFRef","autoScrollSpeedRef","initialFingerPageYRef","initialFingerContainerYRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","panResponderActiveRef","prevDropTargetRef","draggedSubtreeDepthRef","flattenedNodesRef","onDragStartRef","onDragEndRef","onDragCancelRef","canDropRef","canNodeHaveChildrenRef","canDragRef","dragOverlayOffsetRef","autoScrollThresholdRef","autoScrollSpeedParamRef","autoExpandDelayRef","indentationMultiplierRef","maxDepthRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTarget","setDropTarget","effectiveDropLevel","setEffectiveDropLevel","dropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","getSubtreeDepth","max","Math","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","x","y","_w","h","nodes","expanded","has","measured","fingerLocalY","iH","listHeaderHeight","updateDraggedNodeId","updateInvalidDragTargetIds","overlayLocalY","setValue","level","clear","draggedNodeId","startAutoScrollLoop","handleNodeTouchStart","setTimeout","loop","newOffset","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","cancelAnimationFrame","updateAutoScroll","fingerInContainer","threshold","maxSpeed","containerH","ratio","cancelAutoExpandTimer","calculateDropTarget","fingerPageY","fingerPageX","fingerContentY","adjustedContentY","rawIndex","floor","clampedIndex","min","targetNode","positionInItem","position","canDropInsideTarget","undefined","targetLevel","deepest","fingerLocalX","logicalTargetId","logicalPosition","visualDropLevel","currentLevel","isCliff","shallowLevel","nextNode","nextLevel","indent","childToParentMap","ancestorId","walkLevel","parentId","prevNode","prevLevel","expandedSet","prev","sameGap","targetIndex","upperIdx","lowerIdx","upperLevel","lowerLevel","indicatorTop","invalidDragTargetIds","maxDepthValid","isValid","draggedLevel","effectiveLevel","spring","toValue","useNativeDriver","speed","bounciness","start","newTarget","targetNodeId","updateDropTarget","prevTarget","handleDragEnd","currentTarget","droppedNodeId","currentData","initialTreeViewData","newData","updateInitialTreeViewData","newTreeData","idx","findIndex","n","itemH","scrollTop","estimatedTop","estimatedBottom","scrollToIndex","index","viewPosition","size","store3","ancestorIds","walkId","toCollapse","store2","handleNodeTouchEnd","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","evt","nativeEvent","pageX","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","PanResponder","Platform","getTreeViewStore","collapseNodes","expandNodes","handleToggleExpand","initializeNodeMaps","recalculateCheckedStates","moveTreeNode","listHeaderFooterPadding","PLATFORM_OVERLAY_Y_CORRECTION","OS","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragStart","onDragEnd","onDragCancel","longPressDuration","autoScrollThreshold","autoScrollSpeed","internalDataRef","measuredItemHeightRef","dragOverlayOffset","autoExpandDelay","indentationMultiplier","canDrop","canDropCallback","maxDepth","canNodeHaveChildren","canDrag","scrollToNodeHandlerRef","autoScrollToDroppedNode","isDraggingRef","draggedNodeRef","draggedNodeIdRef","draggedNodeIndexRef","longPressTimerRef","containerPageXRef","containerPageYRef","containerWidthRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","overlayX","prevEffectiveLevelRef","autoScrollRAFRef","autoScrollSpeedRef","initialFingerPageYRef","initialFingerContainerYRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","panResponderActiveRef","prevDropTargetRef","draggedSubtreeDepthRef","flattenedNodesRef","onDragStartRef","onDragEndRef","onDragCancelRef","canDropRef","canNodeHaveChildrenRef","canDragRef","dragOverlayOffsetRef","autoScrollThresholdRef","autoScrollSpeedParamRef","autoExpandDelayRef","indentationMultiplierRef","maxDepthRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTarget","setDropTarget","effectiveDropLevel","setEffectiveDropLevel","dropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","getSubtreeDepth","max","Math","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","x","y","w","h","nodes","expanded","has","measured","fingerLocalY","iH","listHeaderHeight","updateDraggedNodeId","updateInvalidDragTargetIds","overlayLocalY","setValue","level","clear","draggedNodeId","startAutoScrollLoop","handleNodeTouchStart","setTimeout","loop","newOffset","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","cancelAnimationFrame","updateAutoScroll","fingerInContainer","threshold","maxSpeed","containerH","ratio","cancelAutoExpandTimer","calculateDropTarget","fingerPageY","fingerPageX","fingerContentY","adjustedContentY","rawIndex","floor","clampedIndex","min","targetNode","positionInItem","position","canDropInsideTarget","undefined","targetLevel","deepest","fingerLocalX","logicalTargetId","logicalPosition","visualDropLevel","currentLevel","isCliff","shallowLevel","nextNode","nextLevel","itemLeftEdge","childToParentMap","ancestorId","walkLevel","parentId","prevNode","prevLevel","expandedSet","prev","sameGap","targetIndex","upperIdx","lowerIdx","upperLevel","lowerLevel","indicatorTop","invalidDragTargetIds","maxDepthValid","isValid","draggedLevel","effectiveLevel","spring","toValue","useNativeDriver","speed","bounciness","start","newTarget","targetNodeId","updateDropTarget","prevTarget","handleDragEnd","currentTarget","droppedNodeId","currentData","initialTreeViewData","newData","updateInitialTreeViewData","newTreeData","scrollOpts","scrollEnabled","enabled","custom","scrollToNodeID","viewPosition","viewOffset","size","store3","ancestorIds","walkId","toCollapse","store2","handleNodeTouchEnd","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","evt","nativeEvent","pageX","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -108,7 +108,7 @@ export function useScrollToNode(params) {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
// Ensure if the parent is expanded before proceeding to scroll to the node.
|
|
111
|
-
// This fires transiently during the milestone system
|
|
111
|
+
// This fires transiently during the milestone system - the layout effect runs
|
|
112
112
|
// before the expansion has propagated to the store, then retries on next render.
|
|
113
113
|
/* istanbul ignore next -- async timing guard: expansion not yet propagated to store */
|
|
114
114
|
if (parentId && !expanded.has(parentId)) return;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["moveTreeNode","deleteTreeViewStore"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["moveTreeNode","deleteTreeViewStore"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AA2BA,cAAc,eAAY;AAC1B,cAAc,8BAA2B;AACzC,SAASA,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,mBAAmB,QAAQ,2BAAwB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGR,aAAa,EAGhB,MAAM,yBAAyB,CAAC;AAwBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGR,aAAa,EAGhB,MAAM,yBAAyB,CAAC;AAwBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,2CAqP9C"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { MutableRefObject, RefObject } from "react";
|
|
2
2
|
import { Animated, type PanResponderInstance } from "react-native";
|
|
3
3
|
import type { FlashList } from "@shopify/flash-list";
|
|
4
|
-
import type { __FlattenedTreeNode__, TreeNode } from "../types/treeView.types";
|
|
4
|
+
import type { __FlattenedTreeNode__, TreeNode, DropAutoScrollOptions } from "../types/treeView.types";
|
|
5
|
+
import type { ScrollToNodeHandlerRef } from "./useScrollToNode";
|
|
5
6
|
import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropTarget } from "../types/dragDrop.types";
|
|
6
7
|
interface UseDragDropParams<ID> {
|
|
7
8
|
storeId: string;
|
|
@@ -29,6 +30,10 @@ interface UseDragDropParams<ID> {
|
|
|
29
30
|
maxDepth?: number;
|
|
30
31
|
/** Callback to determine if a node can accept children. */
|
|
31
32
|
canNodeHaveChildren?: (node: TreeNode<ID>) => boolean;
|
|
33
|
+
/** Ref for scrolling to a node after drop. */
|
|
34
|
+
scrollToNodeHandlerRef: RefObject<ScrollToNodeHandlerRef<ID> | null>;
|
|
35
|
+
/** Auto-scroll configuration for after drop. */
|
|
36
|
+
autoScrollToDroppedNode?: boolean | DropAutoScrollOptions;
|
|
32
37
|
/** Callback to determine if a node can be dragged. */
|
|
33
38
|
canDrag?: (node: TreeNode<ID>) => boolean;
|
|
34
39
|
}
|
|
@@ -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,EACH,QAAQ,
|
|
1
|
+
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps } from "./types/treeView.types";
|
|
1
|
+
import type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DropAutoScrollOptions, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps } from "./types/treeView.types";
|
|
2
2
|
import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition } from "./types/dragDrop.types";
|
|
3
3
|
export * from "./TreeView";
|
|
4
4
|
export * from "./components/CheckboxView";
|
|
5
5
|
export { moveTreeNode } from "./helpers/moveTreeNode.helper";
|
|
6
6
|
export { deleteTreeViewStore } from "./store/treeView.store";
|
|
7
|
-
export type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps, };
|
|
7
|
+
export type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DropAutoScrollOptions, DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps, };
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACR,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACf,MAAM,wBAAwB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,YAAY,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,GAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACR,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACf,MAAM,wBAAwB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,YAAY,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,GAClB,CAAC"}
|
|
@@ -102,6 +102,12 @@ export interface NodeProps<ID> extends TreeItemCustomizations<ID> {
|
|
|
102
102
|
/** Customizations for drag-and-drop visuals */
|
|
103
103
|
dragDropCustomizations?: DragDropCustomizations<ID>;
|
|
104
104
|
}
|
|
105
|
+
/** Options for auto-scrolling to the dropped node after a successful drop.
|
|
106
|
+
* Uses the same scroll parameters as `scrollToNodeID` (minus internally managed fields). */
|
|
107
|
+
export interface DropAutoScrollOptions extends Omit<ScrollToNodeParams<never>, "nodeId" | "expandScrolledNode"> {
|
|
108
|
+
/** Enable auto-scroll to the dropped node. Default: true */
|
|
109
|
+
enabled?: boolean;
|
|
110
|
+
}
|
|
105
111
|
/** Configuration options for drag-and-drop reordering */
|
|
106
112
|
export interface DragAndDropOptions<ID = string> {
|
|
107
113
|
/** Enable drag-and-drop reordering. Default: true (when dragAndDrop is provided) */
|
|
@@ -118,7 +124,7 @@ export interface DragAndDropOptions<ID = string> {
|
|
|
118
124
|
autoScrollThreshold?: number;
|
|
119
125
|
/** Speed multiplier for auto-scroll during drag. Default: 1.0 */
|
|
120
126
|
autoScrollSpeed?: number;
|
|
121
|
-
/** Offset of the dragged overlay from the finger, in item-height units. Default: -
|
|
127
|
+
/** Offset of the dragged overlay from the finger, in item-height units. Default: -2 (two items above finger) */
|
|
122
128
|
dragOverlayOffset?: number;
|
|
123
129
|
/** Delay in ms before auto-expanding a collapsed node during drag hover. Default: 800 */
|
|
124
130
|
autoExpandDelay?: number;
|
|
@@ -135,6 +141,10 @@ export interface DragAndDropOptions<ID = string> {
|
|
|
135
141
|
/** Callback to determine if a node can be dragged.
|
|
136
142
|
* Return false to prevent dragging this node. Default: all nodes are draggable. */
|
|
137
143
|
canDrag?: (node: TreeNode<ID>) => boolean;
|
|
144
|
+
/** Auto-scroll to the dropped node after a successful drop.
|
|
145
|
+
* Pass `false` to disable, `true` for defaults, or an object to customize.
|
|
146
|
+
* Default: `{ enabled: true, animated: true, viewPosition: 0.5 }` */
|
|
147
|
+
autoScrollToDroppedNode?: boolean | DropAutoScrollOptions;
|
|
138
148
|
}
|
|
139
149
|
/** Props for the NodeList component that renders the flattened tree */
|
|
140
150
|
export interface NodeListProps<ID> extends TreeItemCustomizations<ID> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../../src/types/treeView.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../../src/types/treeView.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tree-multi-select",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.5",
|
|
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",
|
|
@@ -74,13 +74,14 @@ function _NodeList<ID>(props: NodeListProps<ID>) {
|
|
|
74
74
|
longPressDuration = 400,
|
|
75
75
|
autoScrollThreshold = 60,
|
|
76
76
|
autoScrollSpeed = 1.0,
|
|
77
|
-
dragOverlayOffset = -
|
|
77
|
+
dragOverlayOffset = -2,
|
|
78
78
|
autoExpandDelay = 800,
|
|
79
79
|
customizations: dragDropCustomizations,
|
|
80
80
|
canDrop: canDropCallback,
|
|
81
81
|
maxDepth,
|
|
82
82
|
canNodeHaveChildren,
|
|
83
83
|
canDrag,
|
|
84
|
+
autoScrollToDroppedNode,
|
|
84
85
|
} = dragAndDrop ?? {};
|
|
85
86
|
|
|
86
87
|
// When the dragAndDrop prop is provided, drag is enabled by default.
|
|
@@ -181,6 +182,8 @@ function _NodeList<ID>(props: NodeListProps<ID>) {
|
|
|
181
182
|
maxDepth,
|
|
182
183
|
canNodeHaveChildren,
|
|
183
184
|
canDrag,
|
|
185
|
+
scrollToNodeHandlerRef,
|
|
186
|
+
autoScrollToDroppedNode,
|
|
184
187
|
});
|
|
185
188
|
|
|
186
189
|
// Combined onScroll handler
|
|
@@ -385,7 +388,7 @@ function _Node<ID>(props: NodeProps<ID>) {
|
|
|
385
388
|
|
|
386
389
|
// Determine opacity for drag state (separate values for dragged node vs invalid targets).
|
|
387
390
|
// When CustomNodeRowComponent is used, hand off all visual control
|
|
388
|
-
// (including drag opacity) to the custom component
|
|
391
|
+
// (including drag opacity) to the custom component - it receives
|
|
389
392
|
// isDraggedNode / isInvalidDropTarget / isDragging props.
|
|
390
393
|
const draggedOpacity = dragDropCustomizations?.draggedNodeOpacity ?? 0.3;
|
|
391
394
|
const invalidOpacity = dragDropCustomizations?.invalidTargetOpacity ?? 0.3;
|
|
@@ -45,7 +45,7 @@ function isDescendant<ID>(
|
|
|
45
45
|
): boolean {
|
|
46
46
|
for (const node of nodes) {
|
|
47
47
|
if (node.id === ancestorId) {
|
|
48
|
-
// Found the ancestor
|
|
48
|
+
// Found the ancestor - search its subtree for the candidate
|
|
49
49
|
return containsNode(node.children ?? [], candidateDescendantId);
|
|
50
50
|
}
|
|
51
51
|
if (node.children && isDescendant(node.children, ancestorId, candidateDescendantId)) {
|
|
@@ -276,7 +276,7 @@ export function recalculateCheckedStates<ID>(storeId: string) {
|
|
|
276
276
|
// Update each parent based on its children's current state
|
|
277
277
|
for (const parentId of parentNodes) {
|
|
278
278
|
const node = nodeMap.get(parentId);
|
|
279
|
-
/* istanbul ignore next -- parentNodes is built from nodeMap entries with children above; same nodeMap, same iteration
|
|
279
|
+
/* istanbul ignore next -- parentNodes is built from nodeMap entries with children above; same nodeMap, same iteration - unreachable unless nodeMap mutates between loops */
|
|
280
280
|
if (!node?.children?.length) continue;
|
|
281
281
|
updateParentCheckState(parentId, node.children, tempChecked, tempIndeterminate);
|
|
282
282
|
}
|
package/src/hooks/useDragDrop.ts
CHANGED
|
@@ -9,11 +9,13 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
Animated,
|
|
11
11
|
PanResponder,
|
|
12
|
+
Platform,
|
|
12
13
|
type PanResponderInstance,
|
|
13
14
|
} from "react-native";
|
|
14
15
|
import type { FlashList } from "@shopify/flash-list";
|
|
15
16
|
|
|
16
|
-
import type { __FlattenedTreeNode__, TreeNode } from "../types/treeView.types";
|
|
17
|
+
import type { __FlattenedTreeNode__, TreeNode, DropAutoScrollOptions } from "../types/treeView.types";
|
|
18
|
+
import type { ScrollToNodeHandlerRef } from "./useScrollToNode";
|
|
17
19
|
import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropTarget } from "../types/dragDrop.types";
|
|
18
20
|
import { getTreeViewStore } from "../store/treeView.store";
|
|
19
21
|
import {
|
|
@@ -26,6 +28,10 @@ import {
|
|
|
26
28
|
import { moveTreeNode } from "../helpers/moveTreeNode.helper";
|
|
27
29
|
import { listHeaderFooterPadding } from "../constants/treeView.constants";
|
|
28
30
|
|
|
31
|
+
// Android reports locationY slightly differently, causing the overlay
|
|
32
|
+
// to appear ~1 item height closer to the finger than on iOS.
|
|
33
|
+
const PLATFORM_OVERLAY_Y_CORRECTION = Platform.OS === "android" ? -2 : 0;
|
|
34
|
+
|
|
29
35
|
interface UseDragDropParams<ID> {
|
|
30
36
|
storeId: string;
|
|
31
37
|
flattenedNodes: __FlattenedTreeNode__<ID>[];
|
|
@@ -50,6 +56,10 @@ interface UseDragDropParams<ID> {
|
|
|
50
56
|
maxDepth?: number;
|
|
51
57
|
/** Callback to determine if a node can accept children. */
|
|
52
58
|
canNodeHaveChildren?: (node: TreeNode<ID>) => boolean;
|
|
59
|
+
/** Ref for scrolling to a node after drop. */
|
|
60
|
+
scrollToNodeHandlerRef: RefObject<ScrollToNodeHandlerRef<ID> | null>;
|
|
61
|
+
/** Auto-scroll configuration for after drop. */
|
|
62
|
+
autoScrollToDroppedNode?: boolean | DropAutoScrollOptions;
|
|
53
63
|
/** Callback to determine if a node can be dragged. */
|
|
54
64
|
canDrag?: (node: TreeNode<ID>) => boolean;
|
|
55
65
|
}
|
|
@@ -98,6 +108,8 @@ export function useDragDrop<ID>(
|
|
|
98
108
|
maxDepth,
|
|
99
109
|
canNodeHaveChildren,
|
|
100
110
|
canDrag,
|
|
111
|
+
scrollToNodeHandlerRef,
|
|
112
|
+
autoScrollToDroppedNode,
|
|
101
113
|
} = params;
|
|
102
114
|
|
|
103
115
|
// --- Refs for mutable state (no stale closures in PanResponder) ---
|
|
@@ -110,6 +122,7 @@ export function useDragDrop<ID>(
|
|
|
110
122
|
|
|
111
123
|
const containerPageXRef = useRef(0);
|
|
112
124
|
const containerPageYRef = useRef(0);
|
|
125
|
+
const containerWidthRef = useRef(0);
|
|
113
126
|
const containerHeightRef = useRef(0);
|
|
114
127
|
const grabOffsetYRef = useRef(0);
|
|
115
128
|
const scrollOffsetRef = useRef(0);
|
|
@@ -238,9 +251,10 @@ export function useDragDrop<ID>(
|
|
|
238
251
|
const container = containerRef.current;
|
|
239
252
|
if (!container) return;
|
|
240
253
|
|
|
241
|
-
container.measureInWindow((x, y,
|
|
254
|
+
container.measureInWindow((x, y, w, h) => {
|
|
242
255
|
containerPageXRef.current = x;
|
|
243
256
|
containerPageYRef.current = y;
|
|
257
|
+
containerWidthRef.current = w;
|
|
244
258
|
containerHeightRef.current = h;
|
|
245
259
|
|
|
246
260
|
// Find the node in flattened list
|
|
@@ -294,7 +308,7 @@ export function useDragDrop<ID>(
|
|
|
294
308
|
store.getState().updateInvalidDragTargetIds(descendants);
|
|
295
309
|
|
|
296
310
|
// Set overlay initial position (with configurable offset)
|
|
297
|
-
const overlayLocalY = fingerLocalY - locationY + dragOverlayOffsetRef.current * itemHeightRef.current;
|
|
311
|
+
const overlayLocalY = fingerLocalY - locationY + (dragOverlayOffsetRef.current + PLATFORM_OVERLAY_Y_CORRECTION) * itemHeightRef.current;
|
|
298
312
|
overlayY.setValue(overlayLocalY);
|
|
299
313
|
|
|
300
314
|
// Reset magnetic overlay
|
|
@@ -438,9 +452,9 @@ export function useDragDrop<ID>(
|
|
|
438
452
|
const positionInItem =
|
|
439
453
|
(adjustedContentY - clampedIndex * iH) / iH;
|
|
440
454
|
let position: "above" | "below" | "inside";
|
|
441
|
-
if (positionInItem < 0.
|
|
455
|
+
if (positionInItem < 0.25) {
|
|
442
456
|
position = "above";
|
|
443
|
-
} else if (positionInItem > 0.
|
|
457
|
+
} else if (positionInItem > 0.75) {
|
|
444
458
|
position = "below";
|
|
445
459
|
} else {
|
|
446
460
|
position = "inside";
|
|
@@ -479,7 +493,7 @@ export function useDragDrop<ID>(
|
|
|
479
493
|
let logicalPosition: "above" | "below" | "inside" | null = null;
|
|
480
494
|
let visualDropLevel: number | null = null;
|
|
481
495
|
|
|
482
|
-
if (position === "below"
|
|
496
|
+
if (position === "below") {
|
|
483
497
|
const currentLevel = targetNode.level ?? 0;
|
|
484
498
|
let isCliff = false;
|
|
485
499
|
let shallowLevel = 0;
|
|
@@ -498,11 +512,9 @@ export function useDragDrop<ID>(
|
|
|
498
512
|
}
|
|
499
513
|
|
|
500
514
|
if (isCliff) {
|
|
501
|
-
//
|
|
502
|
-
const
|
|
503
|
-
const threshold =
|
|
504
|
-
((currentLevel + shallowLevel) / 2) * indent
|
|
505
|
-
+ indent * 2;
|
|
515
|
+
// Midpoint of the item's visible content area
|
|
516
|
+
const itemLeftEdge = currentLevel * indentationMultiplierRef.current;
|
|
517
|
+
const threshold = itemLeftEdge + (containerWidthRef.current - itemLeftEdge) * 0.3;
|
|
506
518
|
|
|
507
519
|
if (fingerLocalX < threshold) {
|
|
508
520
|
// User wants the shallow level
|
|
@@ -536,11 +548,8 @@ export function useDragDrop<ID>(
|
|
|
536
548
|
const prevLevel = prevNode?.level ?? 0;
|
|
537
549
|
const currentLevel = targetNode.level ?? 0;
|
|
538
550
|
if (prevNode && prevLevel > currentLevel) {
|
|
539
|
-
|
|
540
|
-
const
|
|
541
|
-
const threshold =
|
|
542
|
-
((prevLevel + currentLevel) / 2) * indent
|
|
543
|
-
+ indent * 2;
|
|
551
|
+
const itemLeftEdge = prevLevel * indentationMultiplierRef.current;
|
|
552
|
+
const threshold = itemLeftEdge + (containerWidthRef.current - itemLeftEdge) * 0.3;
|
|
544
553
|
|
|
545
554
|
if (fingerLocalX >= threshold) {
|
|
546
555
|
clampedIndex = clampedIndex - 1;
|
|
@@ -550,26 +559,15 @@ export function useDragDrop<ID>(
|
|
|
550
559
|
}
|
|
551
560
|
}
|
|
552
561
|
|
|
553
|
-
// --- Suppress "below" when it's
|
|
554
|
-
//
|
|
555
|
-
//
|
|
556
|
-
//
|
|
562
|
+
// --- Suppress "below" when it's semantically confusing ---
|
|
563
|
+
// For expanded parents, "below" visually sits at the parent/child
|
|
564
|
+
// junction but semantically inserts as a sibling after the entire
|
|
565
|
+
// subtree. Convert to "inside" which is clearer.
|
|
557
566
|
if (position === "below" && canDropInsideTarget) {
|
|
558
567
|
const expandedSet = getTreeViewStore<ID>(storeId).getState().expanded;
|
|
559
|
-
|
|
560
|
-
// (a) Expanded parent: "below" visually sits at the parent/child junction
|
|
561
|
-
// but semantically inserts as a sibling after the entire subtree.
|
|
562
568
|
if (targetNode.children?.length && expandedSet.has(targetNode.id)) {
|
|
563
569
|
position = "inside";
|
|
564
570
|
}
|
|
565
|
-
// (b) No level cliff below: convert to "inside" so the highlight
|
|
566
|
-
// covers the full bottom of the node.
|
|
567
|
-
else if (clampedIndex < nodes.length - 1) {
|
|
568
|
-
const nextNode = nodes[clampedIndex + 1];
|
|
569
|
-
if (nextNode && (nextNode.level ?? 0) >= (targetNode.level ?? 0)) {
|
|
570
|
-
position = "inside";
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
571
|
}
|
|
574
572
|
|
|
575
573
|
// --- Hysteresis: prevent flicker between "below N" and "above N+1" ---
|
|
@@ -632,7 +630,7 @@ export function useDragDrop<ID>(
|
|
|
632
630
|
autoExpandTimerRef.current = setTimeout(() => {
|
|
633
631
|
autoExpandTimerRef.current = null;
|
|
634
632
|
// Expand the node and track it
|
|
635
|
-
|
|
633
|
+
expandNodes(storeId, [targetNode.id]);
|
|
636
634
|
autoExpandedDuringDragRef.current.add(targetNode.id);
|
|
637
635
|
}, autoExpandDelayRef.current);
|
|
638
636
|
}
|
|
@@ -792,34 +790,24 @@ export function useDragDrop<ID>(
|
|
|
792
790
|
newTreeData: newData,
|
|
793
791
|
});
|
|
794
792
|
|
|
795
|
-
//
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
const
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
if (estimatedTop >= scrollTop && estimatedBottom <= scrollTop + containerH) {
|
|
812
|
-
return;
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
flashListRef.current?.scrollToIndex?.({
|
|
816
|
-
index: idx,
|
|
817
|
-
animated: true,
|
|
818
|
-
viewPosition: 0.5,
|
|
819
|
-
});
|
|
820
|
-
}, 100);
|
|
793
|
+
// Auto-scroll to the dropped node unless disabled by the user.
|
|
794
|
+
const scrollOpts = autoScrollToDroppedNode;
|
|
795
|
+
const scrollEnabled = scrollOpts === undefined || scrollOpts === true
|
|
796
|
+
|| (typeof scrollOpts === "object" && scrollOpts.enabled !== false);
|
|
797
|
+
|
|
798
|
+
if (scrollEnabled) {
|
|
799
|
+
const custom = typeof scrollOpts === "object" ? scrollOpts : {};
|
|
800
|
+
setTimeout(() => {
|
|
801
|
+
scrollToNodeHandlerRef.current?.scrollToNodeID({
|
|
802
|
+
nodeId: droppedNodeId,
|
|
803
|
+
animated: custom.animated ?? true,
|
|
804
|
+
viewPosition: custom.viewPosition ?? 0.5,
|
|
805
|
+
viewOffset: custom.viewOffset,
|
|
806
|
+
});
|
|
807
|
+
}, 0);
|
|
808
|
+
}
|
|
821
809
|
} else if (droppedNodeId !== null) {
|
|
822
|
-
// Drag ended without a valid drop
|
|
810
|
+
// Drag ended without a valid drop - notify consumer
|
|
823
811
|
onDragCancelRef.current?.({ draggedNodeId: droppedNodeId });
|
|
824
812
|
}
|
|
825
813
|
|
|
@@ -913,7 +901,7 @@ export function useDragDrop<ID>(
|
|
|
913
901
|
|
|
914
902
|
// Update overlay position (with configurable offset)
|
|
915
903
|
const overlayLocalY =
|
|
916
|
-
fingerLocalY - grabOffsetYRef.current + dragOverlayOffsetRef.current * itemHeightRef.current;
|
|
904
|
+
fingerLocalY - grabOffsetYRef.current + (dragOverlayOffsetRef.current + PLATFORM_OVERLAY_Y_CORRECTION) * itemHeightRef.current;
|
|
917
905
|
overlayY.setValue(overlayLocalY);
|
|
918
906
|
|
|
919
907
|
// Calculate drop target (horizontal position used at level cliffs)
|
|
@@ -155,7 +155,7 @@ export function useScrollToNode<ID>(params: UseScrollToNodeParams<ID>) {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
// Ensure if the parent is expanded before proceeding to scroll to the node.
|
|
158
|
-
// This fires transiently during the milestone system
|
|
158
|
+
// This fires transiently during the milestone system - the layout effect runs
|
|
159
159
|
// before the expansion has propagated to the store, then retries on next render.
|
|
160
160
|
/* istanbul ignore next -- async timing guard: expansion not yet propagated to store */
|
|
161
161
|
if (parentId && !expanded.has(parentId))
|
package/src/index.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import type {
|
|
|
10
10
|
BuiltInCheckBoxViewStyleProps,
|
|
11
11
|
SelectionPropagation,
|
|
12
12
|
DragAndDropOptions,
|
|
13
|
+
DropAutoScrollOptions,
|
|
13
14
|
DragDropCustomizations,
|
|
14
15
|
DragOverlayStyleProps,
|
|
15
16
|
DragOverlayComponentProps,
|
|
@@ -41,6 +42,7 @@ export type {
|
|
|
41
42
|
BuiltInCheckBoxViewStyleProps,
|
|
42
43
|
SelectionPropagation,
|
|
43
44
|
DragAndDropOptions,
|
|
45
|
+
DropAutoScrollOptions,
|
|
44
46
|
DragCancelEvent,
|
|
45
47
|
DragEndEvent,
|
|
46
48
|
DragStartEvent,
|
|
@@ -139,6 +139,13 @@ export interface NodeProps<ID> extends TreeItemCustomizations<ID> {
|
|
|
139
139
|
dragDropCustomizations?: DragDropCustomizations<ID>;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
/** Options for auto-scrolling to the dropped node after a successful drop.
|
|
143
|
+
* Uses the same scroll parameters as `scrollToNodeID` (minus internally managed fields). */
|
|
144
|
+
export interface DropAutoScrollOptions extends Omit<ScrollToNodeParams<never>, "nodeId" | "expandScrolledNode"> {
|
|
145
|
+
/** Enable auto-scroll to the dropped node. Default: true */
|
|
146
|
+
enabled?: boolean;
|
|
147
|
+
}
|
|
148
|
+
|
|
142
149
|
/** Configuration options for drag-and-drop reordering */
|
|
143
150
|
export interface DragAndDropOptions<ID = string> {
|
|
144
151
|
/** Enable drag-and-drop reordering. Default: true (when dragAndDrop is provided) */
|
|
@@ -155,7 +162,7 @@ export interface DragAndDropOptions<ID = string> {
|
|
|
155
162
|
autoScrollThreshold?: number;
|
|
156
163
|
/** Speed multiplier for auto-scroll during drag. Default: 1.0 */
|
|
157
164
|
autoScrollSpeed?: number;
|
|
158
|
-
/** Offset of the dragged overlay from the finger, in item-height units. Default: -
|
|
165
|
+
/** Offset of the dragged overlay from the finger, in item-height units. Default: -2 (two items above finger) */
|
|
159
166
|
dragOverlayOffset?: number;
|
|
160
167
|
/** Delay in ms before auto-expanding a collapsed node during drag hover. Default: 800 */
|
|
161
168
|
autoExpandDelay?: number;
|
|
@@ -173,6 +180,10 @@ export interface DragAndDropOptions<ID = string> {
|
|
|
173
180
|
/** Callback to determine if a node can be dragged.
|
|
174
181
|
* Return false to prevent dragging this node. Default: all nodes are draggable. */
|
|
175
182
|
canDrag?: (node: TreeNode<ID>) => boolean;
|
|
183
|
+
/** Auto-scroll to the dropped node after a successful drop.
|
|
184
|
+
* Pass `false` to disable, `true` for defaults, or an object to customize.
|
|
185
|
+
* Default: `{ enabled: true, animated: true, viewPosition: 0.5 }` */
|
|
186
|
+
autoScrollToDroppedNode?: boolean | DropAutoScrollOptions;
|
|
176
187
|
}
|
|
177
188
|
|
|
178
189
|
/** Props for the NodeList component that renders the flattened tree */
|