diff options
author | Pekka Hyvönen <pekka@vaadin.com> | 2015-02-19 17:03:00 +0200 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2015-02-19 17:03:00 +0200 |
commit | ad7bcdc7d22cedf30d76dd6d1ba7a1c9bcabdd53 (patch) | |
tree | ee480c8c0e0c56b2fcf7b1e3657f42b78ef4ceeb /uitest | |
parent | 9b2f51ca9ff48ad9484b8ee67770ab1a58352b35 (diff) | |
download | vaadin-framework-ad7bcdc7d22cedf30d76dd6d1ba7a1c9bcabdd53.tar.gz vaadin-framework-ad7bcdc7d22cedf30d76dd6d1ba7a1c9bcabdd53.zip |
Fire server-side event when column order changes. (#16643)
Event fired for both UI and programmatic changes.
Change-Id: I043e7407ee11547cb3b6639dc14c26ff036a9d82
Diffstat (limited to 'uitest')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java | 23 | ||||
-rw-r--r-- | uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnReorderTest.java | 68 |
2 files changed, 91 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java index 792ef89d42..e9f6bfdbb9 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java @@ -50,6 +50,8 @@ import com.vaadin.ui.Grid; import com.vaadin.ui.Grid.CellReference; import com.vaadin.ui.Grid.CellStyleGenerator; import com.vaadin.ui.Grid.Column; +import com.vaadin.ui.Grid.ColumnReorderEvent; +import com.vaadin.ui.Grid.ColumnReorderListener; import com.vaadin.ui.Grid.FooterCell; import com.vaadin.ui.Grid.HeaderCell; import com.vaadin.ui.Grid.HeaderRow; @@ -109,6 +111,15 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { } }; + private ColumnReorderListener columnReorderListener = new ColumnReorderListener() { + + @Override + public void columnReorder(ColumnReorderEvent event) { + log("Columns reordered, userOriginated: " + + event.isUserOriginated()); + } + }; + @Override @SuppressWarnings("unchecked") protected Grid constructComponent() { @@ -509,6 +520,18 @@ public class GridBasicFeatures extends AbstractComponentTest<Grid> { } }); + createBooleanAction("ColumnReorderListener", "State", false, + new Command<Grid, Boolean>() { + + @Override + public void execute(Grid grid, Boolean value, Object data) { + if (value) { + grid.addColumnReorderListener(columnReorderListener); + } else { + grid.removeColumnReorderListener(columnReorderListener); + } + } + }); createBooleanAction("Single select allow deselect", "State", singleSelectAllowDeselect, new Command<Grid, Boolean>() { diff --git a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnReorderTest.java b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnReorderTest.java index 7f4e9bb7e9..2f00071351 100644 --- a/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnReorderTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnReorderTest.java @@ -16,6 +16,8 @@ package com.vaadin.tests.components.grid.basicfeatures.server; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import java.util.List; @@ -36,6 +38,8 @@ public class GridColumnReorderTest extends GridBasicFeaturesTest { private static final String[] COLUMN_REORDERING_PATH = { "Component", "State", "Column Reordering Allowed" }; + private static final String[] COLUMN_REORDER_LISTENER_PATH = { "Component", + "State", "ColumnReorderListener" }; @Before public void setUp() { @@ -135,15 +139,79 @@ public class GridColumnReorderTest extends GridBasicFeaturesTest { assertColumnHeaderOrder(1, 0, 2); } + @Test + public void testColumnReordering_triggersReorderEvent_isUserInitiated() { + // given + openTestURL(); + toggleColumnReordering(); + + // when + toggleColumnReorderListener(); + dragDefaultColumnHeader(0, 2, 10); + + // then + assertColumnReorderEvent(true); + } + + @Test + public void testColumnReordering_addAndRemoveListener_registerUnRegisterWorks() { + // given + openTestURL(); + toggleColumnReordering(); + dragDefaultColumnHeader(0, 2, 10); + assertNoColumnReorderEvent(); + + // when + toggleColumnReorderListener(); + dragDefaultColumnHeader(0, 2, 110); + + // then + assertColumnReorderEvent(true); + + // when + toggleColumnReorderListener(); + dragDefaultColumnHeader(0, 3, 10); + + // then + assertNoColumnReorderEvent(); + } + + @Test + public void testColumnReorderingEvent_serverSideReorder_triggersReorderEvent() { + openTestURL(); + + // when + toggleColumnReorderListener(); + moveColumnManuallyLeftByOne(3); + + // then + assertColumnReorderEvent(false); + } + private void toggleColumnReordering() { selectMenuPath(COLUMN_REORDERING_PATH); } + private void toggleColumnReorderListener() { + selectMenuPath(COLUMN_REORDER_LISTENER_PATH); + } + private void moveColumnManuallyLeftByOne(int index) { selectMenuPath(new String[] { "Component", "Columns", "Column " + index, "Move left" }); } + private void assertColumnReorderEvent(boolean userOriginated) { + final String logRow = getLogRow(0); + assertTrue(logRow.contains("Columns reordered, userOriginated: " + + userOriginated)); + } + + private void assertNoColumnReorderEvent() { + final String logRow = getLogRow(0); + assertFalse(logRow.contains("Columns reordered")); + } + private void assertColumnHeaderOrder(int... indices) { List<TestBenchElement> headers = getGridHeaderRowCells(); for (int i = 0; i < indices.length; i++) { |