Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TextField looses focus on .withStatusLabel on FormLayout #10356

Open
aschemschat opened this issue Nov 22, 2017 · 3 comments
Open

TextField looses focus on .withStatusLabel on FormLayout #10356

aschemschat opened this issue Nov 22, 2017 · 3 comments
Labels
Stale Stale bot label workaround Workaround provided in ticket comments

Comments

@aschemschat
Copy link

Hi,

i've had an issue with the input-focus while using the binders .withStatusLabel on a textfield. The following snippet is reproducing the problem. If I focus the (empty) textfield and enter some text the status-label is hidden and the input-field looses focus. If i refocus the input and clear all text the status-label is made visible and the input looses focus again.
If i use a HorizontalLayout instead of a Formlayout the problem doesn't appear, the focus is kept regardless of the status-label.

TextField fieldA = new TextField("Field A");
Label errorA = new Label();
FormLayout form = new FormLayout(fieldA, errorA);
binder.forField(fieldA)
          .asRequired("required")
          .withStatusLabel(errorA)
          .bind(ImageViewerDemoUI::getA, ImageViewerDemoUI::setA);

Vaadin-Version 8.1.6
Demo-Projekt: vaadin-tester.zip

@tsuoanttila
Copy link
Contributor

tsuoanttila commented Nov 23, 2017

I would assume that the FormLayout does a full redraw when ever the content changes, and this leads to losing the focus when ever the hierarchy changes. As a workaround for now (if you can live with the label existing with empty content) you can use your own implementation for the withStatusLabel by doing:

binder.forField(fieldA)
          .asRequired("required")
          .withValidationStatusHandler(status -> 
               errorA.setValue(status.getMessage().orElse("")))
          .bind(ImageViewerDemoUI::getA, ImageViewerDemoUI::setA);

@stale
Copy link

stale bot commented Apr 22, 2018

Hello there!

It looks like this issue hasn't progressed lately. There are so many issues that we just can't deal them all within a reasonable timeframe.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

@stale stale bot added the Stale Stale bot label label Apr 22, 2018
@TatuLund TatuLund added the workaround Workaround provided in ticket comments label Nov 16, 2019
@stale stale bot removed the Stale Stale bot label label Nov 16, 2019
@stale
Copy link

stale bot commented Apr 14, 2020

Hello there!

We are sorry that this issue hasn't progressed lately. We are prioritizing issues by severity and the number of customers we expect are experiencing this and haven't gotten around to fix this issue yet.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

@stale stale bot added the Stale Stale bot label label Apr 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale Stale bot label workaround Workaround provided in ticket comments
Projects
None yet
Development

No branches or pull requests

3 participants