Change-Id: I55791e0bf46b00ea90daaeb1af8b4ca2748ff9d1tags/7.4.5
@@ -228,6 +228,8 @@ $v-grid-editor-background-color: $v-grid-row-background-color !default; | |||
left: 0; | |||
right: 0; | |||
border: $v-grid-border; | |||
box-sizing: border-box; | |||
-moz-box-sizing: border-box; | |||
margin-top: nth($v-grid-border, 1) * -1; | |||
@include box-shadow(0 0 9px rgba(0,0,0,.2)); | |||
} |
@@ -1473,10 +1473,8 @@ public class Grid<T> extends ResizeComposite implements | |||
} | |||
// Do not render over the vertical scrollbar | |||
int nativeScrollbarSize = WidgetUtil.getNativeScrollbarSize(); | |||
if (nativeScrollbarSize > 0) { | |||
editorOverlay.getStyle().setRight(nativeScrollbarSize, Unit.PX); | |||
} | |||
editorOverlay.getStyle().setWidth(grid.escalator.getInnerWidth(), | |||
Unit.PX); | |||
} | |||
private boolean buttonsShouldBeRenderedBelow(TableRowElement tr) { | |||
@@ -2200,8 +2198,7 @@ public class Grid<T> extends ResizeComposite implements | |||
// If selection cell already contains a widget do not | |||
// create a new CheckBox | |||
HeaderCell selectionCell = header.getDefaultRow().getCell(this); | |||
if (selectionCell.getType() | |||
.equals(GridStaticCellType.WIDGET) | |||
if (selectionCell.getType().equals(GridStaticCellType.WIDGET) | |||
&& selectionCell.getWidget() instanceof CheckBox) { | |||
return; | |||
} |
@@ -0,0 +1,53 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.components.grid; | |||
import com.vaadin.server.VaadinRequest; | |||
import com.vaadin.tests.components.AbstractTestUI; | |||
import com.vaadin.ui.ComboBox; | |||
import com.vaadin.ui.Grid; | |||
import com.vaadin.ui.Grid.Column; | |||
import com.vaadin.ui.Grid.SelectionMode; | |||
public class GridEditingWithNoScrollBars extends AbstractTestUI { | |||
@Override | |||
protected void setup(VaadinRequest request) { | |||
Grid grid = new Grid(); | |||
grid.addColumn("foo", String.class); | |||
grid.addColumn("bar", String.class); | |||
for (int i = 0; i < 10; ++i) { | |||
grid.addRow("foo", "" + (i % 3 + 1)); | |||
} | |||
ComboBox stCombo = new ComboBox(); | |||
stCombo.addItem("" + 1); | |||
stCombo.addItem("" + 2); | |||
stCombo.addItem("" + 3); | |||
stCombo.setNullSelectionAllowed(false); | |||
stCombo.setSizeFull(); | |||
Column stCol = grid.getColumn("bar"); | |||
stCol.setEditorField(stCombo); | |||
grid.setSelectionMode(SelectionMode.SINGLE); | |||
grid.setEditorEnabled(true); | |||
grid.setSizeFull(); | |||
addComponent(grid); | |||
} | |||
} |
@@ -0,0 +1,36 @@ | |||
/* | |||
* Copyright 2000-2014 Vaadin Ltd. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not | |||
* use this file except in compliance with the License. You may obtain a copy of | |||
* the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.tests.components.grid; | |||
import static org.junit.Assert.assertEquals; | |||
import org.junit.Test; | |||
import com.vaadin.testbench.elements.GridElement; | |||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||
public class GridEditingWithNoScrollBarsTest extends MultiBrowserTest { | |||
@Test | |||
public void testEditorWideEnough() { | |||
openTestURL(); | |||
GridElement grid = $(GridElement.class).first(); | |||
grid.getCell(1, 1).doubleClick(); | |||
assertEquals(grid.getEditor().getSize().width, grid.getTableWrapper() | |||
.getSize().width); | |||
} | |||
} |