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

DateField / DateTimeField value change event trigerred too late #11316

Closed
ghost opened this issue Nov 14, 2018 · 6 comments · Fixed by #11574
Closed

DateField / DateTimeField value change event trigerred too late #11316

ghost opened this issue Nov 14, 2018 · 6 comments · Fixed by #11574
Assignees
Labels
Milestone

Comments

@ghost
Copy link

ghost commented Nov 14, 2018

Simple scenario using Vaadin 8.6.0 (tested also on 8.5.2) archetype project:

Button and DateTimeField (resolution SECOND)

Button has clickListener DateTimeField has valueChangeListener

  1. Open calendar popup
  2. Change one of time dropdowns (hour / minute / second)
  3. Click on button (do not click anywhere else, do not blur date field!)

Events received:

  1. Button pressed
  2. DateTimeField value changed

Above wrong order causes a lot of complications.

When we use TextField (with Value change on BLUR) instead DateTimeField events received:

  1. TextField value change
  2. Button pressed

Code to reproduce:

    final VerticalLayout layout = new VerticalLayout();
    
    DateTimeField dateField = new DateTimeField();
    dateField.setResolution(DateTimeResolution.SECOND);
    dateField.addValueChangeListener(event -> {
    	System.out.println("Date field value: " + event.getValue());
    });
    
    Button button = new Button("test");
    button.addClickListener(ev -> {
    	System.out.println("Clicked!");
    });
    
    layout.addComponents(button, dateField);
    setContent(layout);
@stale
Copy link

stale bot commented Apr 13, 2019

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 13, 2019
@sevenzebras
Copy link

sevenzebras commented Apr 13, 2019

The problem is still present in Vaadin Framework 8.7.2 and also affects DateTimeResolution MINUTE and HOUR.

@stale stale bot removed the Stale Stale bot label label Apr 13, 2019
@anasmi

This comment has been minimized.

@anasmi

This comment has been minimized.

@TatuLund
Copy link
Contributor

TatuLund commented May 9, 2019

Discussion the on PR #11542 in short. The fix is not working in all cases, with some computers it does give good results, but depending on corner cases of the timing, it is not working in all cases.

@ZheSun88
Copy link
Contributor

this bug will be fixed with #11574 and the patch will be shipped with a minor update. probably with 8.9.0 in this case (rough estimate will be in July, 2019)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants