* Improve VMenuBar click handling logic
Backport to V7:
During `updateFromUIDL` inside MenuBarConnector we empty and re-instantiate the components of MenuBar. When we are modifying the Menubar from the BlurEventListener of another component, we ,by this, remove widgets, therefore clickEvent is not fired and the action of the MenuItem is not proceed as a result. (The BlurEvent is fired before the click event in the chain of events. )
To improve the situation, we catch onMouseDown event , which is fired before BlurEvent,by assigning mouseDown flag to true. Then if no click event has yet happened, we delay the execution of update inside `updateFromUIDL` by default 500 ms. Then if click event occurs, it proceeds normally. The time can be increased/decreased using setter.
There is no delay, if we are clicking on the MenuBar as usual or no Blur listener is set.
This change allows setting descriptions preserving the action from the MenuItem
(cherry picked from commit 22cc85c76f)
* Improve VMenuBar click handling logic
Add missing files from the first commit
Backported to V7:
(cherry picked from commit 22cc85c)
Fix Combo Box filtered on Property not showing results when page length is zero (#11247)
* Fix #11246
Take zero pageLength into account when calculating filtered ComboBox contents.
* Create ComboboxPageLengthZeroFilterTest.java
* add UI tests for fix
Make focus circulate in modal dialog to improve accessibility (#10311)
* Make focus circulate in modal dialog to improve accessibility (#10260)
Make focus circulate in modal dialog to improve accessibility
* Backport window order event
* Correct since tag
* Correct copyright header
Fix occasional empty rows in Table and TreeTable (#9551)
There's an intermittently happening issue with both Table and TreeTable, which results in row data disappearing.
This change removes a method which is probably a vestigial one from over five years ago and other changes are handling the things the method used to perform. Currently the method removes rows deemed unnecessary from the row buffer. The problem is, those rows are visible to the user and removing causes row contents to be lost.
Also included are manually runnable test cases which demonstrate that this removal actually prevents the issue from happening.
Fixes #7964
Fixes #5030
Do full connector tracker cleanup when the session lock is released (#9707) (#9730)
As there is no "request end" call after invoking UI.access() from a background thread,
the connector map was not earlier properly cleaned afterwards. If you toggled visibility of a
component from the background thread, the tracker state became inconsistent.
If this becomes a performance problem, it could probably be optimized to that cleanup
is done in request end and only at the end of access if not inside a request.
Backported from master
Fixes #9693