You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridRowDraggerTwoGrids.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Theme;
  3. import com.vaadin.annotations.Widgetset;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.util.Person;
  6. import com.vaadin.ui.CheckBox;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.components.grid.DropIndexCalculator;
  9. import com.vaadin.ui.components.grid.GridRowDragger;
  10. import com.vaadin.ui.components.grid.SourceDataProviderUpdater;
  11. @Theme("valo")
  12. @Widgetset("com.vaadin.DefaultWidgetSet")
  13. public class GridRowDraggerTwoGrids extends AbstractGridDnD {
  14. @Override
  15. protected void setup(VaadinRequest request) {
  16. getUI().setMobileHtml5DndEnabled(true);
  17. // Drag source Grid
  18. Grid<Person> left = createGridAndFillWithData(50);
  19. // Drop target Grid
  20. Grid<Person> right = createGridAndFillWithData(0);
  21. GridRowDragger<Person> gridDragger = new GridRowDragger<>(left, right);
  22. CheckBox addItemsToEnd = new CheckBox("Add Items To End", false);
  23. addItemsToEnd.addValueChangeListener(
  24. event -> gridDragger.setDropIndexCalculator(
  25. event.getValue() ? DropIndexCalculator.alwaysDropToEnd()
  26. : null));
  27. CheckBox removeItemsFromSource = new CheckBox(
  28. "Remove items from source grid", true);
  29. removeItemsFromSource.addValueChangeListener(event -> gridDragger
  30. .setSourceDataProviderUpdater(event.getValue() ? null
  31. : SourceDataProviderUpdater.NOOP));
  32. controls.addComponents(addItemsToEnd, removeItemsFromSource);
  33. initializeTestFor(gridDragger);
  34. }
  35. }