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.

ComboBoxPopupWhenBodyScrolls.java 1.2KB

1234567891011121314151617181920212223242526272829303132
  1. package com.vaadin.tests.components.combobox;
  2. import com.vaadin.server.VaadinRequest;
  3. import com.vaadin.tests.components.AbstractReindeerTestUI;
  4. import com.vaadin.tests.util.ItemDataProvider;
  5. import com.vaadin.ui.ComboBox;
  6. import com.vaadin.ui.Label;
  7. public class ComboBoxPopupWhenBodyScrolls extends AbstractReindeerTestUI {
  8. @Override
  9. protected void setup(VaadinRequest request) {
  10. getPage().getStyles()
  11. .add("body.v-generated-body { overflow: auto;height:auto;}");
  12. getPage().getStyles().add(
  13. "body.v-generated-body .v-ui.v-scrollable{ overflow: visible;height:auto !important;}");
  14. ComboBox<String> cb = new ComboBox<>();
  15. cb.setDataProvider(new ItemDataProvider(10));
  16. Label spacer = new Label("foo");
  17. spacer.setHeight("2000px");
  18. addComponent(spacer);
  19. addComponent(cb);
  20. spacer = new Label("foo");
  21. spacer.setHeight("2000px");
  22. addComponent(spacer);
  23. // Chrome requires document.scrollTop (<body>)
  24. // Firefox + IE wants document.documentElement.scrollTop (<html>)
  25. getPage().getJavaScript().execute(
  26. "document.body.scrollTop=1800;document.documentElement.scrollTop=1800;");
  27. }
  28. }