From 6ed5f2a0df068dba713d8e24dc9f78e2a0829a73 Mon Sep 17 00:00:00 2001 From: Adam Wagner Date: Wed, 28 Jun 2017 10:29:57 +0200 Subject: Create drag source and drop target extensions for tree grid (#9463) Resolves #9372 --- .../components/treegrid/TreeGridDragAndDrop.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridDragAndDrop.java (limited to 'uitest/src/main') diff --git a/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridDragAndDrop.java b/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridDragAndDrop.java new file mode 100644 index 0000000000..2ed2c4f1f4 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/treegrid/TreeGridDragAndDrop.java @@ -0,0 +1,48 @@ +package com.vaadin.tests.components.treegrid; + +import com.vaadin.annotations.Theme; +import com.vaadin.annotations.Widgetset; +import com.vaadin.server.VaadinRequest; +import com.vaadin.shared.ui.grid.DropMode; +import com.vaadin.tests.components.AbstractTestUIWithLog; +import com.vaadin.tests.data.bean.HierarchicalTestBean; +import com.vaadin.ui.TreeGrid; +import com.vaadin.ui.components.grid.TreeGridDragSource; +import com.vaadin.ui.components.grid.TreeGridDropTarget; + +@Theme("valo") +@Widgetset("com.vaadin.DefaultWidgetSet") +public class TreeGridDragAndDrop extends AbstractTestUIWithLog { + @Override + protected void setup(VaadinRequest request) { + getUI().setMobileHtml5DndEnabled(true); + + TreeGrid grid; + grid = new TreeGrid<>(); + grid.setSizeFull(); + grid.addColumn(HierarchicalTestBean::toString).setCaption("String") + .setId("string"); + grid.addColumn(HierarchicalTestBean::getDepth).setCaption("Depth") + .setId("depth").setDescriptionGenerator( + t -> "Hierarchy depth: " + t.getDepth()); + grid.addColumn(HierarchicalTestBean::getIndex) + .setCaption("Index on this depth").setId("index"); + grid.setHierarchyColumn("string"); + grid.setDataProvider(new LazyHierarchicalDataProvider(3, 2)); + + grid.setId("testComponent"); + + TreeGridDragSource dragSource = new TreeGridDragSource<>( + grid); + TreeGridDropTarget dropTarget = new TreeGridDropTarget<>( + grid, DropMode.ON_TOP_OR_BETWEEN); + + dropTarget.addTreeGridDropListener(event -> { + log("depth=" + event.getDropTargetRowDepth().orElse(null) + + ", collapsed=" + event.isDropTargetRowCollapsed() + .orElse(null)); + }); + + addComponent(grid); + } +} -- cgit v1.2.3