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 patch removes DataProviderKeyMapper which was mostly dead code
already. Uses a regular KeyMapper instead.
Change-Id: Ic97d1dc827d45fde65bcddc0414bfe711032620c
Fix DetailsRow communication use connector IDs (#18493)
Details are now initialized when they are made visible. The old way of
requesting when seen caused a lot of problems when moving stuff around.
Now uses less communication, but reserves a bit extra resources due to
all details components being in the hierarchy.
Change-Id: I1c1163bdc306f5b86e5e0f6e2bbf2801e65c2243
Fix Grid details on sort to display them on correct rows (#18224)
Due to the nature of Container this is only achieved by removing any
existing details and reopening those after the sort is done.
Change-Id: Ic42186ed85981d5dad4ff0948aa22f7a0404480d
Fix RpcDataProviderExtension value change listener setup (#16550)
This patch changes value change listener mapping from itemid based to
index based mapping. This makes removing rows much less error prone
Change-Id: I77e9078de4ae61ce5d752cc394aa47bccd505e70
Defer RPC calls in RpcDataProvider to avoid cache issues (#16505)
This patch defers cache refresh and row adding/removing. These calls are
omitted completely when making initial response to the client or
updating the size with bare ItemSetChangeEvents.
Change-Id: I6b350680b3e2381caf6a66c9a4ad283207d024dc
Fix RpcDataProvider cache clearing on bare ItemSetChange (#16481)
This patch optimizes value change listeners and updates a bit in order
to make clean up on cache invalidation easier to perform.
Change-Id: I6ae3e0ef5046bd5f404f5e0a440607cabd48c6a4
Fix Grid handling state changes and RPC calls deferred (#16188)
Some column changes in Grid were not correctly handled by the
RpcDataProviderExtension. These cases are now correctly handled.
Change-Id: I966b1c71d26e77e30e7dd84f26ab9704bd4f1f0f
Make AbstractRemoteDataSource easier to use (#13334)
- Adds a callback to requestRows so implementors know what to do when
receiving data
- Guestimate the initial amount of available rows so an initial request
can be made before the actual size is known
Change-Id: Iba44eab1695e3ff9947a4e7ed16eee55af98fec4
Since Grid on the server side does many things with properties this
patch also adds a way to get the backing property id for a column.
Change-Id: Ia78c611a28b566593c3291681904ac14cf0c48ee