lukasbach / react-complex-tree

Unopinionated Accessible Tree Component with Multi-Select and Drag-And-Drop
https://rct.lukasbach.com
MIT License
944 stars 74 forks source link

onSelectItems fn calls on dragging the item for reorders every time. #251

Open Nishchit14 opened 1 year ago

Nishchit14 commented 1 year ago

Describe the bug When I start dragging the item to re-arrange the order, it always calls the onSelectItems function. On the onSelectItems call I am opening a file in a new tab (similar to vs code experience), due to this side effect the UX experience seems to be poor as the user is not intended to open the file while dragging it for re-order.

To Reproduce

  1. pick up an item to drag
  2. observe the onSelectItems fun

Expected behavior On dragging the item the onSelectItems fn should not be called

Desktop (please complete the following information):

Nishchit14 commented 1 year ago

any help here @lukasbach ? highly appreciated!!

lukasbach commented 1 year ago

Hi @Nishchit14, can you try to use the onPrimaryAction instead of the onSelectItems handler? That should call in those situations in which you want a call.

Nishchit14 commented 1 year ago

Thank you for the reply, Can you please share a doc or example that is available in the codebase? I've searched it but couldn't find anything other than propsonPrimaryAction: (items: TreeItem<T>, treeId: string) => void. I am not sure when this prop fn will get called.

lukasbach commented 1 year ago

There are no good docs on the exact logic right now, but the intent is that it calls when the user clicks on an item with probably no tree-navigation related intent. The exact logic you can see in the implementation, and is pretty much

You can test when it is triggered in this example. If you want to further customize which kind of user interaction triggers what, you can use custom interaction modes for that.