We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When I drag the parent node to become a child of its child, the entire branch seems to be detached from the model tree and disappears.
I expect an exception to be thrown.
package org.vaadin.example; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.dnd.GridDropLocation; import com.vaadin.flow.component.grid.dnd.GridDropMode; import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.treegrid.TreeGrid; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.data.provider.hierarchy.TreeData; import com.vaadin.flow.router.Route; import java.util.ArrayList; import java.util.List; @Route public class MainView extends VerticalLayout { private static class DemoTreeData extends TreeData<String> { private DemoTreeData() { final String[] five = {"A", "B", "C", "D", "E"}; addRootItems(five); for (String s : five) { List<String> children = new ArrayList<>(); for (String ch : five) { String child = s+ch; children.add(child); } addItems(s, children); } } } public MainView() { TreeGrid<String> treeGrid = new TreeGrid<>(); treeGrid.addHierarchyColumn(String::toString).setHeader("Name"); treeGrid.setTreeData(new DemoTreeData()); treeGrid.setDropMode(GridDropMode.ON_TOP_OR_BETWEEN); treeGrid.setSelectionMode(Grid.SelectionMode.SINGLE); treeGrid.setRowsDraggable(true); List<String> dragged = new ArrayList<>(); treeGrid.addDragStartListener( evt -> { dragged.clear(); dragged.addAll(evt.getDraggedItems()); } ); treeGrid.addDropListener( evt -> { try { if (GridDropLocation.ON_TOP == evt.getDropLocation()) { evt.getDropTargetItem().ifPresent(s -> { for (String drag : dragged) { if (!drag.equals(s)) { treeGrid.getTreeData().setParent(drag, s); treeGrid.getDataProvider().refreshAll(); } else throw new IllegalStateException("Ignored dropping to itself."); } }); } } catch (Exception e) { Notification.show("Exception: "+e); } } ); treeGrid.setWidthFull(); treeGrid.setHeight("800px"); add(treeGrid); } }
The text was updated successfully, but these errors were encountered:
Sorry, something went wrong.
May have the same or similar root cause #19378.
No branches or pull requests
Description of the bug
When I drag the parent node to become a child of its child, the entire branch seems to be detached from the model tree and disappears.
Expected behavior
I expect an exception to be thrown.
Minimal reproducible example
Versions
The text was updated successfully, but these errors were encountered: