Reset HierarchicalDataCommunicator on changes (#9275)
Reset HDC when encountering unexpected changes in the data.
Additionally this patch fixes an issue with client and server caches
getting out of sync during resets.
- Always set some drag data
- Set the dropEffect on dragEnter and dragOver events on drop target
- Send the dropEffect to server on drop event with disclaimer of current support
- Remove _dragOverCriteria_ and use _dropCriteria_ for `dragenter`, `dragover` and `drop` criteria
Tested manually basic DnD and Grid DnD on Mac with Chrome, Firefox, Safari.
Safari is still missing drag image (regression).
Tested manually basic DnD and Grid Dnd on Windows IE11 and Edge.
Drop event for both is still not working properly #9174.
This patch introduces a Tree component, implemented as a Composite
using TreeGrid. As initial version of the component, some functionality
of the old Tree component has been left out for now.
Partly addresses #8617
Fix race condition between rendering TreeGrid and setting up headers (#9105)
* Fix race condition between rendering Grid and setting up headers
* Remove Grid default headers when initializing the widget
* Fix header clean up, add null check to select all checkbox
A composite is included in the server side hierarchy and in the connector
hierarchy on the client side but does not have its own widget or DOM.
To ensure that captions etc are renderer correctly for the root contents,
the client side connector returns both the widget and state for the content
connector.
Server side API related to width and height are automatically forwarded to
the root component to enable easy use of the composite inside different
layout configurations.
Other server side API inherited from AbstractComponent is unwanted, should be
optional and therefore throw an exception by default.
Resolves #2458
Add server-side expand and collapse to TreeGrid (#9021)
* Add server-side expand and collapse to TreeGrid
* Add javadocs
* Fix variable naming in TreeGridHugeTreeTest
* Fix review comments
* Merge remote-tracking branch 'github/master' into 8759-server-expand
* Clear pending expands when all data is dropped
* Add documentation
Use computed style for Escalator size calculations (#8861)
* Use computed style for Escalator size calculations
The old method of using getBoundingClientRect does not work as expected
if a transform has been applied to the element or one of its parents.
For instance PopupView animates itself using a scale(0) -> scale(1)
animation. When scale(0) is active, getBoundingClientRect will return 0
for all sizes while computed style ignores the transform and returns the
expected value.
Fixes #8793
* Fix infinite loop in data communication
* Switch to less aggressive reset when data communication is out of sync
* Remove triggering of reset if reset is already being performed
* Avoid redundant collection of streams in DataCommunicator