vaadin / touchkit

TouchKit is a library of mobile components for Vaadin Framework
https://vaadin.com/touchkit
Other
11 stars 25 forks source link

Scrolling in NavigationManager+NavigationView is broken on newest Android Chrome #405

Closed vaadin-bot closed 9 years ago

vaadin-bot commented 9 years ago

Originally by @tmattsso


Scrolling only works when device is connected to the chrome inspector and a DIV is selected. Scrolling works in a table though.

Might be a Chrome bug.


Imported from https://dev.vaadin.com/ issue #17251

vaadin-bot commented 9 years ago

Originally by @tmattsso


what doesn't work, is verticallayout in the navigationview. verticalcomponentgroup works fine.

vaadin-bot commented 9 years ago

Originally by proaccountapp


Updated prioritization date.

vaadin-bot commented 9 years ago

Originally by @tmattsso


More info: Chrome version 41.0.2272.96, Android 4.3.0 (SGS3)

test case below. without the toolbar it seems to work.

package com.example.tktest;

import javax.servlet.annotation.WebServlet;

import com.vaadin.addon.touchkit.server.TouchKitServlet;
import com.vaadin.addon.touchkit.ui.NavigationButton;
import com.vaadin.addon.touchkit.ui.NavigationManager;
import com.vaadin.addon.touchkit.ui.NavigationView;
import com.vaadin.addon.touchkit.ui.Toolbar;
import com.vaadin.addon.touchkit.ui.VerticalComponentGroup;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Button;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;

@SuppressWarnings("serial")
@Theme("touchkit")
public class TktestUI extends UI {

    @WebServlet(value # "/*", asyncSupportedtrue)
    @VaadinServletConfiguration(productionMode # false, uiTktestUI.class, widgetset = "com.example.tktest.widgetset.TktestWidgetset")
    public static class Servlet extends TouchKitServlet {
    }

    @Override
    protected void init(VaadinRequest request) {
        final NavigationManager layout = new NavigationManager();
        setContent(layout);
        layout.setSizeFull();

        layout.setCurrentComponent(new NavigationTestView());

    }

    public static class NavigationTestView extends NavigationView {

        public NavigationTestView() {

            final VerticalLayout vl = new VerticalLayout();
            vl.setMargin(true);
            setContent(vl);

            final VerticalComponentGroup g = new VerticalComponentGroup();
            vl.addComponent(g);

            for (int i = 0; i < 100; i++) {
                g.addComponent(new NavigationButton("test"));
            }

            getNavigationBar().setCaption("List");
            setToolbar(new Toolbar() {
                {
                    addComponent(new Button("dadasd"));
                }
            });
        }
    }

}
vaadin-bot commented 9 years ago

Originally by Juho Nurminen


Also reproducible on the desktop using touch emulation.