Text missing from buttons in valo theme

I have a vaadin TouchKit application where I have added a valo themed fallback UI:
https://github.com/steinarb/ukelonn/tree/using-vaadin

My problem is that text is missing from buttons in the fallback UI. Does anyone know what might be causing this?

Switching to “reindeer” gives me text in the buttons, but the resulting GUI isn’t anywhere near as good looking.
Here’s a screenshot, showing text missing from a button (the button with missing text is circled in red, the missing text is “Registrer jobb”):

The TouchKit views are:

The fallback views, are:

Switching between touchkit UIs and the fallback UIs is done by the UI class
UkelonnUI
:

@Theme("touchkit")
@Widgetset("com.vaadin.addon.touchkit.gwt.TouchKitWidgetSet")
public class UkelonnUI extends UI {
    private static final long serialVersionUID = 1388525490129647161L;

    @Override
    protected void init(VaadinRequest request) {
        getPage().setTitle("Ukelønn");
        setNavigator(new Navigator(this, this));
        Cookie uiStyle = checkForUIStyleCookie(request);
        if (isLogout(request)) {
            SecurityUtils.getSubject().logout();
            getPage().setLocation(getPage().getLocation().resolve(".")); // Clear the "?logout=yes" argument from the URL
        }

        // Add all of the different views
        if (isMobile(uiStyle)) {
            getNavigator().addView("", new UserView(request));
            getNavigator().addView("admin", new AdminView(request));
        } else {
            setTheme("valo");
            getNavigator().addView("", new UserFallbackView(request));
            getNavigator().addView("admin", new AdminFallbackView(request));
        }
        getNavigator().addView("login", new LoginView(request, getNavigator()));
        if (!isLoggedIn()) {
            getNavigator().navigateTo("login");
        } else if (isAdministrator()) {
            getNavigator().navigateTo("admin");
        } else {
            getNavigator().navigateTo("");
        }
    }

}

It seems like a theming issue. The easiest way to see what is happening is to use the Chrome inspector (or equivalent) to see which CSS rules are applied and what text exactly is in the button element. This should help find the cause of the problem.

Hope this helps.
-Pontus

I recently encountered the same issue. I had a fully working application (on 7.7.8). I am building a Touchkit app with a fallback UI. I had forgotten to include the widgetset for the fallback UI (Charts was displaying an error), so I fixed the fallback UI to use the widgetset and updated Vaadin to 7.7.9. After I did so, all of my button text’s disappeared, and their default widths went to 100% of the screen (instead of size for their caption).

Unfortunately, I don’t know CSS well. I selected the red “Admin” button and took a screenshot.



BTW, It does this on IE11, Chrome and Firefox (and even in the Eclipse browser).

I created a simple test with just 2 buttons:
Button b1 = new Button(“Test Button 1”);
b1.setStyleName(ValoTheme.BUTTON_DANGER);
addComponent(b1);
Button b2 = new Button(“Test Button 2”);
b2.setStyleName(ValoTheme.BUTTON_FRIENDLY);
addComponent(b2);
Added into a simple VeritcalLayout. Neither button text shows, and both display at 100% of the available width. I screen capped Chrome:



Oh, and the other change I made was to update the Vaadin Eclipse plugin. I notice that when I remove Valo from my theme, ther buttons display correctly (however very ugly). I compared the style.css file (from when it was working) and the only difference is:

.v-vaadin-version:after {
content: “7.7.8”;
}

.v-vaadin-version:after {
content: “7.7.9”;
}

It seems to be the WidgetSet! When I removed “@Widgetset(“net.parsonsrun.widgetset.ParsonsruntennisWidgetset”)” from the Desktop UI, it works fine (but now I don’t have access to the Charts!)

Sounds like that would be either a bug in 7.7.9, or perhaps more likely, something that is not cleaned up properly before building the new version of the widgetset. It can be a good idea to manually remove the build directory and, if you are using maven, remove the relevant vaadin libraries from the .m directory. It is also possible to increase the log level of the widgetset compiler, so it actually shows if some errors are encountered.

Hope this helps,
Pontus

I went one step further. I installed a new version of Eclipse, created a new workspace and checked out the source code. It did a clean IVY download and build. It still displays the same way in Eclipse, Chrome, Firefox and IE11.

I am sorry for the length, but this is the output from the WidgetSet compile:

[size=2]
Executing compiler with command line:
C:\Program Files\Java\jdk1.8.0_65\bin\java.exe -Djava.awt.headless=true -Xss8M -Xmx512M -classpath C:\Program Files\Java\jdk1.8.0_65\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\zipfs.jar;C:/workspace-pr/ParsonsRunTennis/src;C:/workspace-pr/ParsonsRunTennis/test;C:/workspace-pr/ParsonsRunTennis/build/classes;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-client/jars/vaadin-client-7.7.9.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-shared/jars/vaadin-shared-7.7.9.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-server/jars/vaadin-server-7.7.9.jar;C:/Users/Normand/.ivy2/cache/org.jsoup/jsoup/jars/jsoup-1.8.3.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.gwt/gwt-elemental/jars/gwt-elemental-2.7.0.vaadin5.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.gwt/gwt-user/jars/gwt-user-2.7.0.vaadin5.jar;C:/Users/Normand/.ivy2/cache/javax.validation/validation-api/jars/validation-api-1.0.0.GA-sources.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-client-compiler/jars/vaadin-client-compiler-7.7.9.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.gwt/gwt-dev/jars/gwt-dev-2.7.0.vaadin5.jar;C:/Users/Normand/.ivy2/cache/org.ow2.asm/asm/jars/asm-5.0.3.jar;C:/Users/Normand/.ivy2/cache/org.ow2.asm/asm-util/jars/asm-util-5.0.3.jar;C:/Users/Normand/.ivy2/cache/org.ow2.asm/asm-tree/jars/asm-tree-5.0.3.jar;C:/Users/Normand/.ivy2/cache/org.ow2.asm/asm-commons/jars/asm-commons-5.0.3.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-sass-compiler/jars/vaadin-sass-compiler-0.9.13.jar;C:/Users/Normand/.ivy2/cache/org.w3c.css/sac/jars/sac-1.3.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.flute/flute/jars/flute-1.3.0.gg2.jar;C:/Users/Normand/.ivy2/cache/com.yahoo.platform.yui/yuicompressor/jars/yuicompressor-2.4.8.jar;C:/Users/Normand/.ivy2/cache/rhino/js/jars/js-1.7R2.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/resources.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/rt.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/jsse.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/jce.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/charsets.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/jfr.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/access-bridge-64.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/cldrdata.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/dnsns.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/jaccess.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/jfxrt.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/localedata.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/nashorn.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/sunec.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/sunjce_provider.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/sunmscapi.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/sunpkcs11.jar;C:/Program Files/Java/jdk1.8.0_65/jre/lib/ext/zipfs.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-themes/jars/vaadin-themes-7.7.9.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-push/jars/vaadin-push-7.7.9.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.atmosphere/atmosphere-runtime/bundles/atmosphere-runtime-2.2.9.vaadin2.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.external.slf4j/vaadin-slf4j-jdk14/jars/vaadin-slf4j-jdk14-1.6.1.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-client-compiled/jars/vaadin-client-compiled-7.7.9.jar;C:/Users/Normand/.ivy2/cache/org.apache.commons/commons-email/jars/commons-email-1.4.jar;C:/Users/Normand/.ivy2/cache/com.sun.mail/javax.mail/jars/javax.mail-1.5.2.jar;C:/Users/Normand/.ivy2/cache/javax.activation/activation/jars/activation-1.1.1.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.addon/vaadin-touchkit-cval/jars/vaadin-touchkit-cval-4.1.0.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.addon/vaadin-charts/jars/vaadin-charts-3.2.0.jar;C:/Users/Normand/.ivy2/cache/com.vaadin.addon/vaadin-charts-model/jars/vaadin-charts-model-3.2.0.jar;C:/Users/Normand/.ivy2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.5.0.jar;C:/Users/Normand/.ivy2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.5.2.jar;C:/Users/Normand/.ivy2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.5.1.jar;C:/Users/Normand/.ivy2/cache/commons-io/commons-io/jars/commons-io-1.4.jar;C:/Users/Normand/.ivy2/cache/de.steinwedel.vaadin.addon/messagebox/jars/messagebox-3.0.19.jar;C:/Users/Normand/.ivy2/cache/javax.servlet/javax.servlet-api/jars/javax.servlet-api-3.0.1.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-testbench-api/jars/vaadin-testbench-api-8.0.6.jar;C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-testbench-core/jars/vaadin-testbench-core-5.0.0.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-server/jars/selenium-server-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-java/jars/selenium-java-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-chrome-driver/jars/selenium-chrome-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-remote-driver/jars/selenium-remote-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-api/jars/selenium-api-3.0.1.jar;C:/Users/Normand/.ivy2/cache/cglib/cglib-nodep/jars/cglib-nodep-3.2.4.jar;C:/Users/Normand/.ivy2/cache/org.apache.commons/commons-exec/jars/commons-exec-1.3.jar;C:/Users/Normand/.ivy2/cache/com.google.code.gson/gson/jars/gson-2.3.1.jar;C:/Users/Normand/.ivy2/cache/com.google.guava/guava/jars/guava-19.0.jar;C:/Users/Normand/.ivy2/cache/org.apache.httpcomponents/httpmime/jars/httpmime-4.5.2.jar;C:/Users/Normand/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.5.2.jar;C:/Users/Normand/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.4.4.jar;C:/Users/Normand/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.2.jar;C:/Users/Normand/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.5.jar;C:/Users/Normand/.ivy2/cache/net.java.dev.jna/jna-platform/jars/jna-platform-4.1.0.jar;C:/Users/Normand/.ivy2/cache/net.java.dev.jna/jna/jars/jna-4.1.0.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-edge-driver/jars/selenium-edge-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-firefox-driver/jars/selenium-firefox-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-ie-driver/jars/selenium-ie-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-opera-driver/jars/selenium-opera-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-safari-driver/jars/selenium-safari-driver-3.0.1.jar;C:/Users/Normand/.ivy2/cache/io.netty/netty/jars/netty-3.5.7.Final.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/selenium-support/jars/selenium-support-3.0.1.jar;C:/Users/Normand/.ivy2/cache/junit/junit/jars/junit-4.12.jar;C:/Users/Normand/.ivy2/cache/org.hamcrest/hamcrest-core/jars/hamcrest-core-1.3.jar;C:/Users/Normand/.ivy2/cache/net.sourceforge.htmlunit/htmlunit/jars/htmlunit-2.23.jar;C:/Users/Normand/.ivy2/cache/xalan/xalan/jars/xalan-2.7.2.jar;C:/Users/Normand/.ivy2/cache/xalan/serializer/jars/serializer-2.7.2.jar;C:/Users/Normand/.ivy2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.4.jar;C:/Users/Normand/.ivy2/cache/net.sourceforge.htmlunit/htmlunit-core-js/jars/htmlunit-core-js-2.23.jar;C:/Users/Normand/.ivy2/cache/net.sourceforge.htmlunit/neko-htmlunit/jars/neko-htmlunit-2.23.jar;C:/Users/Normand/.ivy2/cache/xerces/xercesImpl/jars/xercesImpl-2.11.0.jar;C:/Users/Normand/.ivy2/cache/xml-apis/xml-apis/jars/xml-apis-1.4.01.jar;C:/Users/Normand/.ivy2/cache/net.sourceforge.cssparser/cssparser/jars/cssparser-0.9.20.jar;C:/Users/Normand/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.4.jar;C:/Users/Normand/.ivy2/cache/com.codeborne/phantomjsdriver/jars/phantomjsdriver-1.3.0.jar;C:/Users/Normand/.ivy2/cache/org.eclipse.jetty.websocket/websocket-client/jars/websocket-client-9.2.15.v20160210.jar;C:/Users/Normand/.ivy2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-9.2.9.v20150224.jar;C:/Users/Normand/.ivy2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-9.2.15.v20160210.jar;C:/Users/Normand/.ivy2/cache/org.eclipse.jetty.websocket/websocket-common/jars/websocket-common-9.2.15.v20160210.jar;C:/Users/Normand/.ivy2/cache/org.eclipse.jetty.websocket/websocket-api/jars/websocket-api-9.2.15.v20160210.jar;C:/Users/Normand/.ivy2/cache/com.beust/jcommander/jars/jcommander-1.48.jar;C:/Users/Normand/.ivy2/cache/net.jcip/jcip-annotations/jars/jcip-annotations-1.0.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/jetty-repacked/jars/jetty-repacked-9.2.13.v20160825.jar;C:/Users/Normand/.ivy2/cache/org.seleniumhq.selenium/htmlunit-driver/jars/htmlunit-driver-2.23.jar;C:/Users/Normand/.ivy2/cache/org.yaml/snakeyaml/jars/snakeyaml-1.15.jar;C:/Users/Normand/.ivy2/cache/org.easymock/easymock/jars/easymock-3.0.jar;C:/Users/Normand/.ivy2/cache/org.objenesis/objenesis/jars/objenesis-1.2.jar;C:/Users/Normand/.ivy2/cache/org.javassist/javassist/bundles/javassist-3.18.1-GA.jar -Dgwt.persistentunitcachedir=C:\Temp\widgetset_net.parsonsrun.widgetset.ParsonsruntennisWidgetsetdaf9f477-5e19-44bf-83b6-7d60c87fefab com.vaadin.tools.WidgetsetCompiler -war WebContent/VAADIN/widgetsets -deploy C:\Temp\widgetset_net.parsonsrun.widgetset.ParsonsruntennisWidgetsetdaf9f477-5e19-44bf-83b6-7d60c87fefab -extra C:\Temp\widgetset_net.parsonsrun.widgetset.ParsonsruntennisWidgetsetdaf9f477-5e19-44bf-83b6-7d60c87fefab -localWorkers 4 -logLevel INFO net.parsonsrun.widgetset.ParsonsruntennisWidgetset
Updating GWT module description file…
Widgetsets found from classpath:
com.vaadin.addon.touchkit.gwt.TouchKitWidgetSet in jar:file:C:/Users/Normand/.ivy2/cache/com.vaadin.addon/vaadin-touchkit-cval/jars/vaadin-touchkit-cval-4.1.0.jar!/
net.parsonsrun.widgetset.ParsonsruntennisWidgetset in file:/C:/workspace-pr/ParsonsRunTennis/src
com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Normand/.ivy2/cache/com.vaadin/vaadin-client/jars/vaadin-client-7.7.9.jar!/
com.vaadin.addon.charts.Widgetset in jar:file:C:/Users/Normand/.ivy2/cache/com.vaadin.addon/vaadin-charts/jars/vaadin-charts-3.2.0.jar!/
Addon styles found from classpath:

Search took 7ms
Done.
Starting GWT compiler
May 21, 2017 3:33:04 AM java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(…) returned error code 5.
Compiling module net.parsonsrun.widgetset.ParsonsruntennisWidgetset
Resolving com.google.gwt.validation.client.constraints.AbstractDecimalMaxValidator
Found type ‘com.google.gwt.validation.client.constraints.AbstractDecimalMaxValidator’
Found type ‘javax.validation.constraints.DecimalMax’
[WARN]
Detected warnings related to ‘javax.validation.Constraint’. Is validation-.jar on the classpath?
Specify -logLevel DEBUG to see all errors.
[WARN]
Ignoring unresolvable annotation type javax.validation.Constraint


Vaadin TouchKit 4 registered to crnormand@bellsouth.net (Pro Tools subscription)


Vaadin Charts 3 registered to crnormand@bellsouth.net (Pro Tools subscription)

Computing all possible rebind results for ‘com.vaadin.client.metadata.ConnectorBundleLoader’
Rebinding com.vaadin.client.metadata.ConnectorBundleLoader
Invoking generator com.vaadin.addon.touchkit.gwt.TouchKitBundleLoaderFactory
Populating eager bundle
Visiting ChartConnector with ConnectorInitVisitor
ChartConnector will be in the eager bundle
Will serialize class com.vaadin.addon.charts.shared.ChartState as a bean
Will serialize class com.vaadin.shared.communication.URLReference using URLReference_Serializer
Visiting ChartOptionsConnector with ConnectorInitVisitor
ChartOptionsConnector will be in the eager bundle
Will serialize class com.vaadin.addon.charts.shared.ChartOptionsState as a bean
Visiting FloatingIndexConnector with ConnectorInitVisitor
FloatingIndexConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.FloatingIndexSharedState as a bean
Visiting GeolocatorConnector with ConnectorInitVisitor
GeolocatorConnector will be in the eager bundle
Will serialize class com.vaadin.shared.communication.SharedState as a bean
Visiting Html5InputSettingsConnector with ConnectorInitVisitor
Html5InputSettingsConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.Html5InputSettingsState as a bean
Visiting LocalStorageConnector with ConnectorInitVisitor
LocalStorageConnector will be in the eager bundle
Visiting OfflineModeConnector with ConnectorInitVisitor
OfflineModeConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.OfflineModeState as a bean
Visiting DatePickerConnector with ConnectorInitVisitor
DatePickerConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.DatePickerState as a bean
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.DatePickerState.Resolution as an enum
Visiting EmailFieldConnector with ConnectorInitVisitor
EmailFieldConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.textfield.AbstractTextFieldState as a bean
Visiting HorizontalButtonGroupConnector with ConnectorInitVisitor
HorizontalButtonGroupConnector will be in the eager bundle
Will serialize class com.vaadin.shared.AbstractComponentState as a bean
Visiting NavigationBarConnector with ConnectorInitVisitor
NavigationBarConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.navigation.NavigationBarState as a bean
Visiting NavigationButtonConnector with ConnectorInitVisitor
NavigationButtonConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.navigation.NavigationButtonSharedState as a bean
Visiting NavigationManagerConnector with ConnectorInitVisitor
NavigationManagerConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.navigation.NavigationManagerSharedState as a bean
Visiting NavigationViewConnector with ConnectorInitVisitor
NavigationViewConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.navigation.NavigationViewState as a bean
Visiting NumberFieldConnector with ConnectorInitVisitor
NumberFieldConnector will be in the eager bundle
Visiting PopoverConnector with ConnectorInitVisitor
PopoverConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.popover.PopoverState as a bean
Will serialize class com.vaadin.shared.ui.window.WindowMode as an enum
Will serialize class com.vaadin.shared.ui.window.WindowRole as an enum
Will serialize com.vaadin.shared.Connector as an array
Visiting SwipeViewConnector with ConnectorInitVisitor
SwipeViewConnector will be in the eager bundle
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.SwipeViewSharedState as a bean
Visiting SwitchConnector with ConnectorInitVisitor
SwitchConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.checkbox.CheckBoxState as a bean
Visiting TabBarConnector with ConnectorInitVisitor
TabBarConnector will be in the eager bundle
Visiting UrlFieldConnector with ConnectorInitVisitor
UrlFieldConnector will be in the eager bundle
Visiting VerticalComponentGroupConnector with ConnectorInitVisitor
VerticalComponentGroupConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.AbstractLayoutState as a bean
Visiting JavaScriptExtension with ConnectorInitVisitor
JavaScriptExtension will be in the eager bundle
Will serialize class com.vaadin.shared.JavaScriptExtensionState as a bean
Visiting BrowserWindowOpenerConnector with ConnectorInitVisitor
BrowserWindowOpenerConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.BrowserWindowOpenerState as a bean
Visiting FileDownloaderConnector with ConnectorInitVisitor
FileDownloaderConnector will be in the eager bundle
Visiting ResponsiveConnector with ConnectorInitVisitor
ResponsiveConnector will be in the eager bundle
Visiting RpcDataSourceConnector with ConnectorInitVisitor
RpcDataSourceConnector will be in the eager bundle
Visiting JavaScriptComponentConnector with ConnectorInitVisitor
JavaScriptComponentConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.JavaScriptComponentState as a bean
Visiting AudioConnector with ConnectorInitVisitor
AudioConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.audio.AudioState as a bean
Visiting BrowserFrameConnector with ConnectorInitVisitor
BrowserFrameConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.browserframe.BrowserFrameState as a bean
Visiting ButtonConnector with ConnectorInitVisitor
ButtonConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.button.ButtonState as a bean
Visiting CheckBoxConnector with ConnectorInitVisitor
CheckBoxConnector will be in the eager bundle
Visiting CssLayoutConnector with ConnectorInitVisitor
CssLayoutConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.csslayout.CssLayoutState as a bean
Visiting CustomComponentConnector with ConnectorInitVisitor
CustomComponentConnector will be in the eager bundle
Visiting CustomFieldConnector with ConnectorInitVisitor
CustomFieldConnector will be in the eager bundle
Will serialize class com.vaadin.shared.AbstractFieldState as a bean
Visiting DateFieldConnector with ConnectorInitVisitor
DateFieldConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.datefield.PopupDateFieldState as a bean
Will serialize class java.util.Date using Date_Serializer
Visiting DragAndDropWrapperConnector with ConnectorInitVisitor
DragAndDropWrapperConnector will be in the eager bundle
Visiting EmbeddedConnector with ConnectorInitVisitor
EmbeddedConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.embedded.EmbeddedState as a bean
Visiting FlashConnector with ConnectorInitVisitor
FlashConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.flash.FlashState as a bean
Visiting FormConnector with ConnectorInitVisitor
FormConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.form.FormState as a bean
Visiting FormLayoutConnector with ConnectorInitVisitor
FormLayoutConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.orderedlayout.FormLayoutState as a bean
Will serialize class java.util.HashMap<com.vaadin.shared.Connector, com.vaadin.shared.ui.orderedlayout.AbstractOrderedLayoutState.ChildComponentData> as a bean
Will serialize class com.vaadin.shared.ui.orderedlayout.AbstractOrderedLayoutState.ChildComponentData as a bean
Visiting GridConnector with ConnectorInitVisitor
GridConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.grid.GridState as a bean
Will serialize class com.vaadin.shared.ui.grid.ColumnResizeMode as an enum
Will serialize class com.vaadin.shared.ui.grid.HeightMode as an enum
Will serialize java.lang.String as an array
Will serialize com.vaadin.shared.data.sort.SortDirection as an array
Will serialize class com.vaadin.shared.data.sort.SortDirection as an enum
Will serialize class com.vaadin.shared.ui.grid.GridColumnState as a bean
Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState as a bean
Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState.RowState as a bean
Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState.CellState as a bean
Will serialize class com.vaadin.shared.ui.grid.GridStaticCellType as an enum
Visiting DetailComponentManagerConnector with ConnectorInitVisitor
DetailComponentManagerConnector will be in the eager bundle
Visiting MultiSelectionModelConnector with ConnectorInitVisitor
MultiSelectionModelConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.grid.selection.MultiSelectionModelState as a bean
Visiting NoSelectionModelConnector with ConnectorInitVisitor
NoSelectionModelConnector will be in the eager bundle
Visiting SingleSelectionModelConnector with ConnectorInitVisitor
SingleSelectionModelConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.grid.selection.SingleSelectionModelState as a bean
Visiting ImageConnector with ConnectorInitVisitor
ImageConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.image.ImageState as a bean
Visiting InlineDateFieldConnector with ConnectorInitVisitor
InlineDateFieldConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.datefield.InlineDateFieldState as a bean
Visiting JavaScriptManagerConnector with ConnectorInitVisitor
JavaScriptManagerConnector will be in the eager bundle
Will serialize class com.vaadin.shared.extension.javascriptmanager.JavaScriptManagerState as a bean
Visiting LabelConnector with ConnectorInitVisitor
LabelConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.label.LabelState as a bean
Will serialize class com.vaadin.shared.ui.label.ContentMode as an enum
Visiting LinkConnector with ConnectorInitVisitor
LinkConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.link.LinkState as a bean
Will serialize class com.vaadin.shared.ui.BorderStyle as an enum
Visiting ListSelectConnector with ConnectorInitVisitor
ListSelectConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.select.AbstractSelectState as a bean
Visiting LoginFormConnector with ConnectorInitVisitor
LoginFormConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.loginform.LoginFormState as a bean
Visiting NativeButtonConnector with ConnectorInitVisitor
NativeButtonConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.button.NativeButtonState as a bean
Visiting NativeSelectConnector with ConnectorInitVisitor
NativeSelectConnector will be in the eager bundle
Visiting OptionGroupConnector with ConnectorInitVisitor
OptionGroupConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.optiongroup.OptionGroupState as a bean
Visiting PasswordFieldConnector with ConnectorInitVisitor
PasswordFieldConnector will be in the eager bundle
Visiting PopupDateFieldConnector with ConnectorInitVisitor
PopupDateFieldConnector will be in the eager bundle
Visiting ProgressBarConnector with ConnectorInitVisitor
ProgressBarConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.progressindicator.ProgressBarState as a bean
Visiting ProgressIndicatorConnector with ConnectorInitVisitor
ProgressIndicatorConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.progressindicator.ProgressIndicatorState as a bean
Visiting SliderConnector with ConnectorInitVisitor
SliderConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.slider.SliderState as a bean
Will serialize class com.vaadin.shared.ui.slider.SliderOrientation as an enum
Visiting TextAreaConnector with ConnectorInitVisitor
TextAreaConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.textarea.TextAreaState as a bean
Visiting TextFieldConnector with ConnectorInitVisitor
TextFieldConnector will be in the eager bundle
Visiting TreeConnector with ConnectorInitVisitor
TreeConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.tree.TreeState as a bean
Visiting UIConnector with ConnectorInitVisitor
UIConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.ui.UIState as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.TooltipConfigurationState as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.LoadingIndicatorConfigurationState as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.LocaleServiceState as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.ReconnectDialogConfigurationState as a bean
Will serialize class com.vaadin.shared.ui.ui.PageState as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.NotificationTypeConfiguration as a bean
Will serialize class com.vaadin.shared.ui.ui.NotificationRole as an enum
Will serialize class com.vaadin.shared.ui.ui.UIState.LocaleData as a bean
Will serialize class com.vaadin.shared.ui.ui.UIState.PushConfigurationState as a bean
Will serialize class com.vaadin.shared.communication.PushMode as an enum
Visiting UploadConnector with ConnectorInitVisitor
UploadConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.upload.UploadState as a bean
Visiting VideoConnector with ConnectorInitVisitor
VideoConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.video.VideoState as a bean
Visiting JavaScriptRendererConnector with ConnectorInitVisitor
JavaScriptRendererConnector will be in the eager bundle
Visiting ButtonRendererConnector with ConnectorInitVisitor
ButtonRendererConnector will be in the eager bundle
Visiting DateRendererConnector with ConnectorInitVisitor
DateRendererConnector will be in the eager bundle
Visiting UnsafeHtmlRendererConnector with ConnectorInitVisitor
UnsafeHtmlRendererConnector will be in the eager bundle
Visiting ImageRendererConnector with ConnectorInitVisitor
ImageRendererConnector will be in the eager bundle
Visiting NumberRendererConnector with ConnectorInitVisitor
NumberRendererConnector will be in the eager bundle
Visiting ProgressBarRendererConnector with ConnectorInitVisitor
ProgressBarRendererConnector will be in the eager bundle
Visiting TextRendererConnector with ConnectorInitVisitor
TextRendererConnector will be in the eager bundle
Will serialize class com.vaadin.shared.ui.grid.ScrollDestination as an enum
Will serialize class com.vaadin.shared.MouseEventDetails as a bean
Will serialize class com.vaadin.shared.MouseEventDetails.MouseButton as an enum
Will serialize class com.vaadin.shared.ui.grid.GridConstants.Section as an enum
Will serialize class com.vaadin.addon.touchkit.gwt.client.vcom.Position as a bean
Will serialize class com.vaadin.shared.ui.table.TableConstants.Section as an enum
Will serialize class com.vaadin.addon.charts.shared.DrilldownEventDetails as a bean
Will serialize class com.vaadin.addon.charts.shared.DrilldownPointDetails as a bean
Will serialize class com.vaadin.addon.charts.shared.MouseEventDetails as a bean
Will serialize class com.vaadin.addon.charts.shared.MouseEventDetails.MouseButton as an enum
Populating AbsoluteLayoutConnector bundle
Visiting AbsoluteLayoutConnector with ConnectorInitVisitor
AbsoluteLayoutConnector will be in the AbsoluteLayoutConnector bundle
Will serialize class com.vaadin.shared.ui.absolutelayout.AbsoluteLayoutState as a bean
Populating AccordionConnector bundle
Visiting AccordionConnector with ConnectorInitVisitor
AccordionConnector will be in the AccordionConnector bundle
Will serialize class com.vaadin.shared.ui.accordion.AccordionState as a bean
Will serialize class com.vaadin.shared.ui.tabsheet.TabState as a bean
Populating CalendarConnector bundle
Visiting CalendarConnector with ConnectorInitVisitor
CalendarConnector will be in the CalendarConnector bundle
Will serialize class com.vaadin.shared.ui.calendar.CalendarState as a bean
Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Day as a bean
Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Action as a bean
Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Event as a bean
Populating ColorPickerConnector bundle
Visiting ColorPickerConnector with ConnectorInitVisitor
ColorPickerConnector will be in the ColorPickerConnector bundle
Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerState as a bean
Populating ColorPickerAreaConnector bundle
Visiting ColorPickerAreaConnector with ConnectorInitVisitor
ColorPickerAreaConnector will be in the ColorPickerAreaConnector bundle
Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerState as a bean
Populating ComboBoxConnector bundle
Visiting ComboBoxConnector with ConnectorInitVisitor
ComboBoxConnector will be in the ComboBoxConnector bundle
Will serialize class com.vaadin.shared.ui.combobox.ComboBoxState as a bean
Populating CustomLayoutConnector bundle
Visiting CustomLayoutConnector with ConnectorInitVisitor
CustomLayoutConnector will be in the CustomLayoutConnector bundle
Will serialize class com.vaadin.shared.ui.customlayout.CustomLayoutState as a bean
Populating GridLayoutConnector bundle
Visiting GridLayoutConnector with ConnectorInitVisitor
GridLayoutConnector will be in the GridLayoutConnector bundle
Will serialize class com.vaadin.shared.ui.gridlayout.GridLayoutState as a bean
Will serialize float as an array
Will serialize class com.vaadin.shared.ui.gridlayout.GridLayoutState.ChildComponentData as a bean
Populating HorizontalLayoutConnector bundle
Visiting HorizontalLayoutConnector with ConnectorInitVisitor
HorizontalLayoutConnector will be in the HorizontalLayoutConnector bundle
Will serialize class com.vaadin.shared.ui.orderedlayout.HorizontalLayoutState as a bean
Populating HorizontalSplitPanelConnector bundle
Visiting HorizontalSplitPanelConnector with ConnectorInitVisitor
HorizontalSplitPanelConnector will be in the HorizontalSplitPanelConnector bundle
Will serialize class com.vaadin.shared.ui.splitpanel.HorizontalSplitPanelState as a bean
Will serialize class com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState.SplitterState as a bean
Populating MenuBarConnector bundle
Visiting MenuBarConnector with ConnectorInitVisitor
MenuBarConnector will be in the MenuBarConnector bundle
Will serialize class com.vaadin.shared.ui.menubar.MenuBarState as a bean
Populating PanelConnector bundle
Visiting PanelConnector with ConnectorInitVisitor
PanelConnector will be in the PanelConnector bundle
Will serialize class com.vaadin.shared.ui.panel.PanelState as a bean
Populating PopupViewConnector bundle
Visiting PopupViewConnector with ConnectorInitVisitor
PopupViewConnector will be in the PopupViewConnector bundle
Will serialize class com.vaadin.shared.ui.popupview.PopupViewState as a bean
Populating RichTextAreaConnector bundle
Visiting RichTextAreaConnector with ConnectorInitVisitor
RichTextAreaConnector will be in the RichTextAreaConnector bundle
Will serialize class com.vaadin.shared.ui.textarea.RichTextAreaState as a bean
Populating TabsheetConnector bundle
Visiting TabsheetConnector with ConnectorInitVisitor
TabsheetConnector will be in the TabsheetConnector bundle
Will serialize class com.vaadin.shared.ui.tabsheet.TabsheetState as a bean
Will serialize class com.vaadin.shared.ui.tabsheet.TabState as a bean
Populating TableConnector bundle
Visiting TableConnector with ConnectorInitVisitor
TableConnector will be in the TableConnector bundle
Will serialize class com.vaadin.shared.ui.table.TableState as a bean
Will serialize class com.vaadin.shared.ui.table.CollapseMenuContent as an enum
Populating TreeTableConnector bundle
Visiting TreeTableConnector with ConnectorInitVisitor
TreeTableConnector will be in the TreeTableConnector bundle
Will serialize class com.vaadin.shared.ui.treetable.TreeTableState as a bean
Will serialize class com.vaadin.shared.ui.table.CollapseMenuContent as an enum
Populating TwinColSelectConnector bundle
Visiting TwinColSelectConnector with ConnectorInitVisitor
TwinColSelectConnector will be in the TwinColSelectConnector bundle
Will serialize class com.vaadin.shared.ui.twincolselect.TwinColSelectState as a bean
Populating VerticalLayoutConnector bundle
Visiting VerticalLayoutConnector with ConnectorInitVisitor
VerticalLayoutConnector will be in the VerticalLayoutConnector bundle
Will serialize class com.vaadin.shared.ui.orderedlayout.VerticalLayoutState as a bean
Populating VerticalSplitPanelConnector bundle
Visiting VerticalSplitPanelConnector with ConnectorInitVisitor
VerticalSplitPanelConnector will be in the VerticalSplitPanelConnector bundle
Will serialize class com.vaadin.shared.ui.splitpanel.VerticalSplitPanelState as a bean
Will serialize class com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState.SplitterState as a bean
Populating WindowConnector bundle
Visiting WindowConnector with ConnectorInitVisitor
WindowConnector will be in the WindowConnector bundle
Will serialize class com.vaadin.shared.ui.window.WindowState as a bean
Populating ColorPickerGradientConnector bundle
Visiting ColorPickerGradientConnector with ConnectorInitVisitor
ColorPickerGradientConnector will be in the ColorPickerGradientConnector bundle
Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerGradientState as a bean
Populating ColorPickerGridConnector bundle
Visiting ColorPickerGridConnector with ConnectorInitVisitor
ColorPickerGridConnector will be in the ColorPickerGridConnector bundle
Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerGridState as a bean
Adding ‘1’ new generated units
Warnings in ‘generated://A2CC8E01976F8A24B697F3979280D4B8/com/vaadin/client/metadata/ConnectorBundleLoaderImpl.java’
See snapshot: C:\Temp\com.vaadin.client.metadata.ConnectorBundleLoaderImpl5546123352733677031.java
Ignored 1 unit with compilation errors in first pass.
Compile with -strict or with -logLevel set to DEBUG or WARN to see all errors.
Adding ‘1’ new generated units
Warnings in ‘generated://91A90A7E40CF1FC9713F6A60ED8C5759/com/vaadin/addon/charts/client/HighchartResources_default_InlineClientBundleGenerator.java’
See snapshot: C:\Temp\com.vaadin.addon.charts.client.HighchartResources_default_InlineClientBundleGenerator4045076921699152582.java
Ignored 1 unit with compilation errors in first pass.
Compile with -strict or with -logLevel set to DEBUG or WARN to see all errors.
Computing all possible rebind results for ‘com.vaadin.client.ui.dd.VAcceptCriterionFactory’
Rebinding com.vaadin.client.ui.dd.VAcceptCriterionFactory
Invoking generator com.vaadin.server.widgetsetutils.AcceptCriteriaFactoryGenerator
Detecting available criteria …
creating mapping for com.vaadin.event.dd.acceptcriteria.AcceptAll
creating mapping for com.vaadin.event.dd.acceptcriteria.And
creating mapping for com.vaadin.event.dd.acceptcriteria.ContainsDataFlavor
creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIs
creating mapping for com.vaadin.ui.AbstractSelect.TargetItemIs
creating mapping for com.vaadin.ui.AbstractSelect.AcceptItem
creating mapping for com.vaadin.ui.Table.TableDropCriterion
creating mapping for com.vaadin.ui.Tree.TreeDropCriterion
creating mapping for com.vaadin.event.dd.acceptcriteria.Not
creating mapping for com.vaadin.event.dd.acceptcriteria.Or
creating mapping for com.vaadin.event.dd.acceptcriteria.ServerSideCriterion
creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIsTarget
creating mapping for com.vaadin.event.dd.acceptcriteria.TargetDetailIs
creating mapping for com.vaadin.ui.Tree.TargetInSubtree
Done. (0seconds)
Compiling 1 permutation
Compiling permutation 0…
Compile of permutations succeeded
Compilation succeeded – 71.063s
Linking into C:\workspace-pr\ParsonsRunTennis\WebContent\VAADIN\widgetsets\net.parsonsrun.widgetset.ParsonsruntennisWidgetset; Writing extras to C:\Temp\widgetset_net.parsonsrun.widgetset.ParsonsruntennisWidgetsetdaf9f477-5e19-44bf-83b6-7d60c87fefab\net.parsonsrun.widgetset.ParsonsruntennisWidgetset
Link succeeded
Linking succeeded – 1.321s
[/size]

Did you figure this out?

I’m now in the process of transferring my app from Vaadin 7.6.1 to 8.4.1
https://github.com/steinarb/ukelonn/tree/work/using-vaadin-with-vaadin8

The problem is still present.

And in Vaadin 8.x the valo theme is the only one that doesn’t introduce strange formatting.

Well, if there was any doubt, there is no longer:

  1. The missing text in button problem is related to using TouchKit with the valo theme
  2. The missing text problem was present with vaadin 7.6.1/touchkit 4.1.0 and is still present in vaadin 8.4.1/touchkit 5.0.x

I removed the

@Widgetset("org.vaadin.touchkit.gwt.TouchKitWidgetSet")

annotation from the UI class.

And then the button text was present in the login screen (but of course the rest of the UI didn’t work much, since I use [NavigationView]
(https://github.com/vaadin/touchkit/blob/master/addon/src/main/java/org/vaadin/touchkit/ui/NavigationView.java#L14) at the top level).

The fallback UI looked fine, though (but of course: not as “app-like” on an iPhone, as TouchKit does).

No, I never did figure this out.

The problem is this, IT USED TO WORK! Prior to the updated Vaadin, its worked JUST FINE with the TouchKit UI and widget set.

Yes, I’m trying to figure out why it fails, because with Vaadin 8 I need to use TouchKit with the valo theme, because no other theme works properly with grids (which replaces the old tables).

And I still need to use TouchKit because Vaadin 8.x doesn’t have anything similar to NativeSelect or NavigationView (both of which gives a very “app-ish” look and feel to the app).

So, back to the problem:

The HTML for the button is identical, whether using touchkit with valo, plain valo or touchkit with the touchkit theme:

<td class="v-formlayout-contentcell">
 <div tabindex="0" role="button" class="v-button v-widget">
  <span class="v-button-wrap">
   <span class="v-button-caption">Login</span>
  </span>
 </div>
</td>

When using touchkit with the valo theme, the CSS for the element looks like this:

.v-button-wrap {
    display: block;
    padding: 0 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

If I disable the “display: block;”, then the text displays in the button.

The CSS when using touchkit with the touchkit theme is identical, i.e. there “display: block;” does not cause the button to disappear.

Success of sorts.

I’m using Vaadin 8.4.1 together with a touchkit 5.0.1-SNAPSHOT from [the parttio fork]
(https://github.com/parttio/touchkit), I’m building myself.

So I could make an experiment by removing the offending “display: block;” from the TouchKit CSS and rebuilding touchkit, ie.:

sb@lorenzo:~/workspaces/ws02/touchkit$ git diff
diff --git a/touchkit/src/main/java/org/vaadin/touchkit/gwt/client/theme/touchkit.css b/touchkit/src/main/java/org/vaadin/touchkit/gwt/client/theme/touchkit.css
index bebdf0c..59681f8 100644
--- a/touchkit/src/main/java/org/vaadin/touchkit/gwt/client/theme/touchkit.css
+++ b/touchkit/src/main/java/org/vaadin/touchkit/gwt/client/theme/touchkit.css
@@ -355,7 +355,6 @@ div.v-progressbar-indeterminate {
 }
 
 .v-button-wrap {
-       display: block;
        padding: 0 listLayoutMargin;
        white-space: nowrap;
        text-overflow: ellipsis;

I rebuild my Vaadin application against the new touchkit 5.0.1-SNAPSHOT, and this time the button texts were present.

I have to think about where to go from here: perhaps open an issue against touchkit and offer up my change as a pull request fixing the issue?

The catch with that is that I don’t really know CSS well enough to know what side effects my change might have… :slight_smile:

I’ve created a TouchKit github issue for this: https://github.com/parttio/touchkit/issues/15

I’ve submitted a pull request with my fix (such as it is…).

FYI If you’re using Vaadin 8.4.1 it’s possible to use a TouchKit 5.0.1-SNAPSHOT with my fix (such as it is…) from my maven repository:

  1. Add the following repository to your top POM
<project>
    <repositories>
        <repository>
            <id>bang-maven</id>
            <url>http://maven.bang.priv.no/repository</url>
        </repository>
    </repositories>
</project>
  1. Change your TouchKit maven dependency to
            <dependency>
                <groupId>org.vaadin.touchkit</groupId>
                <artifactId>touchkit</artifactId>
                <version>5.0.1-SNAPSHOT</version>
            </dependency>

Steinar Bang:
FYI If you’re using Vaadin 8.4.1

Therein lies the rub… I’m still on 7.7.13 :frowning:

I haven’t had the time to convert to 8.x

If you use maven (which I recommend if you don’t), this might do the trick (NB! I haven’t actually tried this! You might need to update the vaadin version touchkit is built against as well, looks like this branch is built against vaadin 7.6.0):

  1. Create a snapshot build of TouchKit 4x:
mkdir -p ~/git
cd ~/git
git clone https://github.com/steinarb/touchkit.git
cd touchkit
git checkout official-4.x
git checkout -b feature/get-text-back-in-valo-buttons.touchkit4
git cherry-pick 1dfc3e0
mvn clean install
  1. Use a snapshot dependency
            <dependency>
                <groupId>com.vaadin.addon</groupId>
                <artifactId>vaadin-touchkit-agpl</artifactId>
                <version>4.1-SNAPSHOT</version>
            </dependency>