* 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)
Add columns at once in a batched way to increase performance (#11261)
* provide possibility to add columns in a batched way
This is the basis to increase the performance for further changes.
* add the columns at once to the grid to increase performance
* combined performance fixes
* respect the column order
* Fixed formatting
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
Use separate identifier for push connections (#9150)
By using a separate id we can avoid sending the sessions
CSRF token as a GET parameter when initializing a push connection.
Cherry-picked from #8700 to the 7.7 branch.
Always calculate Escalator max row count the same way (#8740)
* Rename getMaxEscalatorRowCapacity to describe what it does
* Always calculate Escalator max row count the same way
This changes Escalator to not take a horizontal scrollbar
into account when trying to determine "maximum visible rows". This will
add another row, compared to previous versions, when there is a horizontal
scrollbar. In reality, it would likely make sense to always add 10 more rows
to have some buffer above and below the visible area.
Fixes #8661
Remove unnecessary full classnames and parenthesis from code (#8681)
This change aims to reduce the number of false positives when comparing Vaadin 7 compatibility package in Vaadin 8 and actual Vaadin 7.7 branch. Conflicting parts are moved to imports as much as possible. Files have been formatted with same Eclipse version.
Call "destroy" instead of "destory" in JavaScriptRenders (#8263)
* Call "destroy" instead of "destory" in JavaScriptRenders
For backwards compatibility, calls "destory" if no "destroy" exists
Fixes #8162
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
Prevent reorder of frozen columns when there are hidden columns (#8278)
* Rename variables to indicate whether they use DOM index or Grid index
Grid indexes include hidden columns, DOM/Escalator indexes do not
* Prevent reorder of frozen columns when there are hidden columns
Fixes #8265
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
* Merge branch '7.7' into _grid-no-reorder-of-frozen-columns
Fix absolute layout component sizing on size change in Vaadin7 (#8304)
Changing from relative to defined size leaves the component positioned wrong,
also changing from defined size to relative size leaves the component in the
wrong position with the wrong size.
Change makes the wrapper rerun setChildWidgetPosition() that adds/removes
necessary css definitions to/from the cssPosition String.