Fix RpcDataProvider listener handling on ItemSetChange (#19371)
Old ValueChangeListeners are discarded and new ones created when an
ItemSetChange occurs. This is done to reapply the listeners to possibly
recreated Items.
Change-Id: I9956af8950e241005574c597c49c5efb43afc1c7
Fix and extend Javadoc for setFirstDayOfWeek (#19227)
The Javadoc was incorrect saying the method goal was to set the first
day of week depending on locale. Actual main goal - to set it in
independent way.
Also extended the doc to look more complete.
Change-Id: I2c82c774f4e245437b03c0bd0246a0361584d949
Reapply DataGenerators when container changes (#19357, #19359)
Previously on container change Grid applied only its internal
DataGenerators to the new RpcDataProviderExtension. Now it goes through
all existing Extensions and adds all DataGenerators to the data
provider.
Change-Id: Idbd48e5152867b1d2b7a770741e3ea08aa4299b6
Check for optimizations when looking for missing updates (#18317)
A recently merged patch leaves out information from hierarchyInfo for
empty connectors with state changes. This must be taken into account
when looking for disappeared connectors that do not cause any hierarchy
change to be sent.
Change-Id: I9ae7150341a83798141d0a2806ee81cafe7c2f9a
The comment was introuced in commit da29f74 for a constant named
CLICK_EVENT_ID, but it was accidentally left in the code when that
constant was removed.
Change-Id: I69697f517585cafb30cc223497bc8db4a919e884
Omit empty hierarchy data from the response (#18510)
Reduces the payload size for the "Update all labels" action with 40
layouts in BasicPerformanceTest by 16% (from 11087 to 9270 bytes). The
reduction is improved to 22% (1855 to 1455) if the response is gzipped
since the omited data doesn't compress very well.
Change-Id: I1d2837c93222fffa59b14836f162e3e87349e086
Serializing an object should never modify its internal state.
It should be possible to serialize an object multiple times and get
the same result
Change-Id: I983e2eec1b3fb374bf40f150bdb9918ac5791d62
Specify custom first day of week for Calendar #19227
Added possibility to provide first day of week independent of Locale.
(the Calendar code has been reformatted according to Eclipse 'Save
action'). Unit-tests added. UI test extended.
Change-Id: I3e3531228c139ce2014a1227e47c12e7896a6f87
Adds functions for skipping child component layout measuring.
Removes unnecessary code from VScrollTable.
1. case: no components
- render time without the fix: ~105ms
- render time with fix: ~105ms
2. case: 2 button and 2 textfield cols
- render time without the fix: ~279ms
- render time with fix: ~240ms (~17% faster)
3. case: 3 button and 3 textfield cols
- render time without the fix: ~350ms
- render time with fix: ~281ms (~20% faster)
Change-Id: I6025f8ee2fd438d228ff3b65f43535961cf12c0b
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