]> source.dussan.org Git - vaadin-framework.git/commitdiff
Adds frozen feature to GridBasicClientFeaturesWidget (#13334)
authorHenrik Paul <henrik@vaadin.com>
Wed, 27 Aug 2014 15:01:49 +0000 (18:01 +0300)
committerVaadin Code Review <review@vaadin.com>
Tue, 9 Sep 2014 08:41:08 +0000 (08:41 +0000)
Change-Id: I6142c8a6af8248c4568b836c3e62531167f30439

uitest/src/com/vaadin/tests/components/grid/GridElement.java
uitest/src/com/vaadin/tests/components/grid/basicfeatures/client/GridClientColumnPropertiesTest.java
uitest/src/com/vaadin/tests/widgetset/client/grid/GridBasicClientFeaturesWidget.java

index bd8cad45c6664c07c07d7b25016a71096a1f67ea..27c552340a6af8d83305afe0ab4e63e00ed8e167 100644 (file)
@@ -40,6 +40,7 @@ public class GridElement extends AbstractComponentElement {
 
         private String ACTIVE_CLASS_NAME = "-cell-active";
         private String ACTIVE_HEADER_CLASS_NAME = "-header-active";
+        private String FROZEN_CLASS_NAME = "frozen";
 
         public boolean isActive() {
             return getAttribute("class").contains(ACTIVE_CLASS_NAME);
@@ -48,6 +49,10 @@ public class GridElement extends AbstractComponentElement {
         public boolean isActiveHeader() {
             return getAttribute("class").contains(ACTIVE_HEADER_CLASS_NAME);
         }
+
+        public boolean isFrozen() {
+            return getAttribute("class").contains(FROZEN_CLASS_NAME);
+        }
     }
 
     public static class GridRowElement extends AbstractElement {
index ece9fdf7d7a67a94242ef6f1eaa9820b79ed64c6..ea46ee24a5b3aa481b434ee92f055268beaa3174 100644 (file)
@@ -16,6 +16,8 @@
 package com.vaadin.tests.components.grid.basicfeatures.client;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
@@ -56,4 +58,20 @@ public class GridClientColumnPropertiesTest extends GridBasicClientFeaturesTest
         assertEquals(100, width);
     }
 
+    @Test
+    public void testFrozenColumns() {
+        openTestURL();
+
+        assertFalse(cellIsFrozen(0, 0));
+        assertFalse(cellIsFrozen(0, 1));
+
+        selectMenuPath("Component", "Columns", "Column 0", "Frozen");
+
+        assertTrue(cellIsFrozen(1, 0));
+        assertFalse(cellIsFrozen(1, 1));
+    }
+
+    private boolean cellIsFrozen(int row, int col) {
+        return getGridElement().getCell(row, col).isFrozen();
+    }
 }
index a8fa6d1a080b75f6ac14959e6cf4f76f6d0af540..9cf56439d88df9672dd62d29f428da0df95a0592 100644 (file)
@@ -357,6 +357,17 @@ public class GridBasicClientFeaturesWidget extends
                             !grid.getColumn(index).isSortable());
                 }
             }, "Component", "Columns", "Column " + i);
+            addMenuCommand("Frozen", new ScheduledCommand() {
+                @Override
+                public void execute() {
+                    GridColumn<?, List<Data>> column = grid.getColumn(index);
+                    if (column.equals(grid.getLastFrozenColumn())) {
+                        grid.setLastFrozenColumn(null);
+                    } else {
+                        grid.setLastFrozenColumn(column);
+                    }
+                }
+            }, "Component", "Columns", "Column " + i);
 
             addMenuCommand("auto", new ScheduledCommand() {
                 @Override