Change-Id: I7ce7c61f842a09af1842a14fedec3412120944c7tags/7.3.0.rc1
@@ -146,6 +146,12 @@ body &.v-app .v-app-loading { | |||
border: 0; | |||
margin: 0; | |||
} | |||
.v-contextmenu .gwt-MenuBar { | |||
overflow-y: auto; | |||
overflow-x: hidden; | |||
} | |||
.v-contextmenu .gwt-MenuItem div { | |||
cursor: pointer; | |||
vertical-align: middle; |
@@ -161,6 +161,8 @@ public class VContextMenu extends VOverlay implements SubPartAware { | |||
top = top - offsetHeight; | |||
if (top < 0) { | |||
top = 0; | |||
setHeight(Window.getClientHeight() + "px"); | |||
} | |||
} | |||
setPopupPosition(left, top); |
@@ -0,0 +1,65 @@ | |||
/* | |||
* 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.table; | |||
import com.vaadin.server.VaadinRequest; | |||
import com.vaadin.tests.components.AbstractTestUI; | |||
import com.vaadin.ui.Table; | |||
import com.vaadin.ui.Table.ColumnGenerator; | |||
public class TableTooManyColumns extends AbstractTestUI { | |||
@Override | |||
protected void setup(VaadinRequest request) { | |||
Table table = new Table(); | |||
table.setColumnCollapsingAllowed(true); | |||
for (int i = 0; i < 91; i++) { | |||
table.addGeneratedColumn("COLUMN " + i, new ColumnGenerator() { | |||
@Override | |||
public Object generateCell(Table source, Object itemId, | |||
Object columnId) { | |||
return columnId; | |||
} | |||
}); | |||
} | |||
addComponent(table); | |||
} | |||
/* | |||
* (non-Javadoc) | |||
* | |||
* @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() | |||
*/ | |||
@Override | |||
protected String getTestDescription() { | |||
return "Table column drop down becomes too large to fit the screen."; | |||
} | |||
/* | |||
* (non-Javadoc) | |||
* | |||
* @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber() | |||
*/ | |||
@Override | |||
protected Integer getTicketNumber() { | |||
return 14156; | |||
} | |||
} |
@@ -0,0 +1,46 @@ | |||
/* | |||
* 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.table; | |||
import java.io.IOException; | |||
import org.junit.Test; | |||
import org.openqa.selenium.WebElement; | |||
import com.vaadin.testbench.By; | |||
import com.vaadin.testbench.commands.TestBenchElementCommands; | |||
import com.vaadin.tests.tb3.MultiBrowserTest; | |||
public class TableTooManyColumnsTest extends MultiBrowserTest { | |||
@Test | |||
public void testDropdownTable() throws IOException { | |||
openTestURL(); | |||
WebElement element = findElement(By | |||
.className("v-table-column-selector")); | |||
element.click(); | |||
WebElement menu = findElement(By.className("gwt-MenuBar-vertical")); | |||
TestBenchElementCommands scrollable = testBenchElement(menu); | |||
scrollable.scroll(3000); | |||
compareScreen(getScreenshotBaseName()); | |||
} | |||
} |