This change makes it possible to create an injectable subclass of
the navigator by providing a protected no-args constructor and a
separate initialization method.
Change-Id: I7d55fca2a84570d47e2767b0fb81a82e0732fd21
The Spring, CDI etc. add-ons need hook points that permit switching
contexts at the right time. This was very hard to do due to the
monolithic nature of navigateTo() - beforeViewChange() is too early
and can be cancelled, afterViewChange() is too late.
Change-Id: I66ffbafe1597b782b4feaf2ebd0de3ca1941a9ae
Support ContextClicks in empty areas of Table and TreeTable (#19130)
When the user clicks an empty area, the TableContextClickEvent will still
fire, but will have a null property.
Change-Id: I39303f1a72d072db09c4fe6df8141d6caf0764c2
Move RpcDataProviderExtension and DataGenerator to correct package
New location is com.vaadin.server.communication.data as the extension
only manages the communication of container data to a client-side data
source.
Change-Id: I7aeefe23c9d771d70bc1dd389bc7f0c3357f0a17
Refactor DetailComponentManager to be a static nested class of Grid
While refactoring any special cases are removed. This needs Grid
extensions to have a way for adding and removing components from Grid.
Removing any and all parts of RpcDataProvider work towards having it
separate from Grid and maybe usable for other components as well.
Change-Id: Ia4e25d5f0acaf2085478346b0ff6e23c8334e1b9
This change removes deprecation of the class, but
leaves some methods subject to change in the future.
Change-Id: I4187c32c5439eb5db1e1466d4cb594eb06c86133
Add API for setting Grid columns resizable (#16838)
By default columns can be drag-resized by the user. This can be changed on a
column-by-column basis.
Change-Id: I8354e270db9affe865d1444d6cccbe8c839a3b5b
Move session store/load/remove logic to service from session (#9782, #18998)
The session storage logic when implemented in VaadinSession was and must be
partly static. This makes it impossible to override the storage logic.
To be able to support storage customizations for portals (storing using
APPLICATION_SCOPE), the logic was moved to VaadinService.
For portals, all storage operations now use APPLICATION_SCOPE. Previously
only the store operation was done using APPLICATION_SCOPE, leading to
some portals not being able to load the session at all (the default
scope for reading attributes in portals is PORTLET_SCOPE).
Change-Id: I3d112608d98c883a457e650c0a25bf10c81acc78
Tree connector now overrides the send context click event providing the
row key to the server-side via RPC call. This is then passed on to a
TreeContextClickEvent and fired to listeners.
This patch modifies the test base for context click testing by making it
tolerate 1 piksel differences. This was to fix any subpixel related
issues in coordinate comparison.
Change-Id: Iacced274a6b518b5f89378cbc32b8381362e1e4f
Properly cleanup stream variables if DragAndDropWrapper is detached (#14882)
If DragAndDropWrapper is removed from the UI for whatever reason before cleanup
happens, the UI can no longer be found through it. If we do not do cleanup, we
leave a reference hanging forever in ConnectorTracker.
Change-Id: I9fc3da5d616276a7810ddc4a18cbebf8621635fe