-
Couldn't load subscription status.
- Fork 75
Description
Describe the bug
I want to rely purely on onDrop's tree object callback for saving the new tree array state, but it is returning me an array of tree nodes with some of them out of place and no longer follows DFS. I thought that the order of nodes in array has to follow DFS by looking at your README.md example of data field. The result of this is just that the returned tree in callback of onDrop() is not in DFS order but the UI is still displaying okay. I m not sure if there is any harm with the actual data field array of nodes not in proper DFS order in the long run.
To Reproduce
Steps to reproduce the behavior:
- Create a fake array of correctly DFS ordered tree
- drag and drop some to reorder them
- console.log the tree parameter in onDrop function
Expected behavior
the order of the tree after onDrop callback should be properly DFS ordered nodes, but they are returning out of place ordered nodes in the array of tree. e.g. a level 1 node dropped into level 2 droppable node after the drop still appears before the level 2 droppable node in tree argument console logged.
Screenshots
Before dropping "train_stations_europe" node at level 1 to "folder" node:
"id: cc52c6ef-f13d-4988-9f93-75cb0d720ed0 | text: train_stations_europe | parent: 0 | level: 1 | droppable: false"
"id: 5a33153d-38e8-4536-868b-16135a6f6ecd | text: BNETD/land_cover/v1 | parent: 0 | level: 1 | droppable: false"
"id: 897d8e58-95a6-40e6-82ce-2632cb701c2e | text: AHN/AHN2_05M_INT | parent: 0 | level: 1 | droppable: false"
"id: 8205f572-dcd9-4782-a9bd-b65ba098d85e | text: folder | parent: 0 | level: 1 | droppable: true"
"id: 52e16ab8-46ec-4e6d-bb60-2fcd01da1110 | text: Hand-drawn Geometries | parent: 8205f572-dcd9-4782-a9bd-b65ba098d85e | level: 2 | droppable: false"
"id: 2b29aabf-06ec-4342-a1e4-d22dba28f46d | text: ALL_HFIC | parent: 0 | level: 1 | droppable: false"
"id: 2042f3dd-2a40-4c57-9014-e8a764669fc6 | text: COPERNICUS/CORINE/V20/100m | parent: 0 | level: 1 | droppable: false"
OnDrop returns tree array:
"id: cc52c6ef-f13d-4988-9f93-75cb0d720ed0 | text: train_stations_europe | parent: 8205f572-dcd9-4782-a9bd-b65ba098d85e | level: 1 | droppable: false"
"id: 5a33153d-38e8-4536-868b-16135a6f6ecd | text: BNETD/land_cover/v1 | parent: 0 | level: 1 | droppable: false"
"id: 897d8e58-95a6-40e6-82ce-2632cb701c2e | text: AHN/AHN2_05M_INT | parent: 0 | level: 1 | droppable: false"
"id: 8205f572-dcd9-4782-a9bd-b65ba098d85e | text: folder | parent: 0 | level: 1 | droppable: true"
"id: 52e16ab8-46ec-4e6d-bb60-2fcd01da1110 | text: Hand-drawn Geometries | parent: 8205f572-dcd9-4782-a9bd-b65ba098d85e | level: 2 | droppable: false"
"id: 2b29aabf-06ec-4342-a1e4-d22dba28f46d | text: ALL_HFIC | parent: 0 | level: 1 | droppable: false"
"id: 2042f3dd-2a40-4c57-9014-e8a764669fc6 | text: COPERNICUS/CORINE/V20/100m | parent: 0 | level: 1 | droppable: false"
instead of
"id: 5a33153d-38e8-4536-868b-16135a6f6ecd | text: BNETD/land_cover/v1 | parent: 0 | level: 1 | droppable: false"
"id: 897d8e58-95a6-40e6-82ce-2632cb701c2e | text: AHN/AHN2_05M_INT | parent: 0 | level: 1 | droppable: false"
"id: 8205f572-dcd9-4782-a9bd-b65ba098d85e | text: folder | parent: 0 | level: 1 | droppable: true"
"id: cc52c6ef-f13d-4988-9f93-75cb0d720ed0 | text: train_stations_europe | parent: 8205f572-dcd9-4782-a9bd-b65ba098d85e | level: 2 | droppable: false"
"id: 52e16ab8-46ec-4e6d-bb60-2fcd01da1110 | text: Hand-drawn Geometries | parent: 8205f572-dcd9-4782-a9bd-b65ba098d85e | level: 2 | droppable: false"
"id: 2b29aabf-06ec-4342-a1e4-d22dba28f46d | text: ALL_HFIC | parent: 0 | level: 1 | droppable: false"
"id: 2042f3dd-2a40-4c57-9014-e8a764669fc6 | text: COPERNICUS/CORINE/V20/100m | parent: 0 | level: 1 | droppable: false"
Desktop (please complete the following information):
- OS: macOS
- Browser: Arc
- version of dnd-tree: 3.5.2
Additional context
I also use additional level field in node.data