Fix Grid column resize to take account min width for cells (#16597)
Use Escalator cell size calculation without content to determine the
absolute minimum size for cells. This is used in Grid when drag resizing
or sorting columns to prevent cells from overflowing to the next row.
Henri Sara [Tue, 15 Dec 2015 13:41:53 +0000 (15:41 +0200)]
Fix LegacyComponentThemeChangeTest on Chrome 47
The test uses an Embedded component with non-existent Flash content.
This does not work on Chrome 47 so this change disables that part
of the test on Chrome like it was already disabled on IE8.
Fix text selection and context click events for Android devices (#19367)
Text and element selection needs to be disabled on touch start for
Android as well. Other touch event handling used by iOS devices is not
used on Android.
Prevent text selection on iOS devices with long tap (#19367)
Text or elements should not get selected when there's a context click
listener. Pre-emptively prevent text selection for the whole widget when
that happens.
Anna Koskinen [Wed, 25 Feb 2015 11:43:39 +0000 (13:43 +0200)]
Fix mouse wheel scrolling of ComboBox in IE11 (#16918)
IE11 is broken so that the simple implementation always moves up on any
mouse wheel event. Therefore, this change borrows the approach taken by
Escalator for low-level handling of mouse wheel events in a way compatible
with all supported browsers.
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.
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
Fix selecting a row that was deselected on the server (#19360)
Client-side connector of the SingleSelectionModel attempts to keep track
of currently selected row. This tracking gets lost when the row get
deselected on the server-side. Special case is now correctly handled.
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.
Leif Åstrand [Thu, 3 Dec 2015 11:10:25 +0000 (13:10 +0200)]
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.
Fail during compile if required methods are missing (#18924)
A ComponentConnector must override either getWidget or createWidget for
the framework to know the type of the component's widget. Similarly
either getRenderer och createRenderer must be overridden for
AbstractRendererConnector.
Prior to this patch, the compilation succeeded when critical methods
were missing - the user just got various hard-to-debug issues when the
broken connector was used.
Leif Åstrand [Mon, 30 Nov 2015 07:52:39 +0000 (09:52 +0200)]
Remove bogus comment
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.
This patch is to test the theme, and not testing a defect (#16597).
Testing with defective screenshots causes problems if the defect is at a
later point fixed.
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.
Henri Sara [Mon, 16 Nov 2015 12:13:32 +0000 (14:13 +0200)]
Fix some TB2 tests for Calendar (#19227)
Fix the commands in some TB2 tests broken by the test change
from #19227.
Screenshots of several calendar tests including these also
need to be updated.
Isolate text selection blocking to Grid instead of body element (#16838)
Some themes are more explicit with user-select rules, and doing this on
the level of body element does not work with said themes. To make all
the themes behave the same way, we only block selection inside of Grid.
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.
mtzukanov [Thu, 15 Oct 2015 10:47:23 +0000 (13:47 +0300)]
Changed grid sidebar to overlay (#18698)
Previously grid sidebar could be partially hidden by
"overflow: hidden" of an ancestor component.
Now it's in an overlay and the hierarchy doesn't affect it.
Grid tests were also updated for new DOM structure.
Leif Åstrand [Fri, 28 Aug 2015 18:47:26 +0000 (21:47 +0300)]
Force FormLayout children to shrink with the layout (#11154)
The <table> used by the FormLayout doesn't reduce its size if any child
component has locked its own size (which is the case with e.g. Table and
some other components doing explicit pixel calculations). To work around
this, we need to detect the situation, force the <table> to reduce its
width by temporarily assigning explicit widths to the cells and then
remove the forced size after all children have adjusted.
Markus Koivisto [Wed, 28 Oct 2015 17:23:22 +0000 (19:23 +0200)]
Touch long tap context click emulation improvements (#19222)
Removed Android handling since it already fires a context menu event
when not selecting text. Increased the threshold for iOS move. Prevent
some browser default functionality on TouchEnd after sending context
click event to server.
mtzukanov [Thu, 22 Oct 2015 10:52:39 +0000 (13:52 +0300)]
Fixes column header drop indicator (#18925)
Calculation of the frozen column width was wrong in multiselect mode.
It did not take into account the last frozen column, but added
the select column twice.
The same problem was in AutoScroller (as the same methods were
copy-pasted there), for which reason the autoscrolling was not
scrolling till the end.
This patch fixes the calculation error and removes copy-pasted code,
reusing the same code in both places.
Removing a widget that got moved to another layout occasionally caused
slot to lose track of related widget. As a result the layout never
created a new slot when the same widget is put back in there.
Fix TreeTableContextClickTest to not scroll vertically on IE
Too wide TreeTable in a UI causes IE to scroll vertically making
calculated positions fail miserably. Also makes context clicking in
AbstractContextClickTest avoid StaleElementReferenceExceptions.
Henri Sara [Wed, 14 Oct 2015 16:49:45 +0000 (09:49 -0700)]
Make it possible to inject Navigators (#14006)
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.
Henri Sara [Sun, 11 Oct 2015 14:41:07 +0000 (07:41 -0700)]
Make Navigator more extensible
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.
pag [Sat, 10 Oct 2015 15:05:37 +0000 (17:05 +0200)]
VTree$TreeNode avoid NPE triggered by external ONLOAD events (#18563)
If an ONLOAD event fires but the target is not the icon, an NPE
occurs. The isCaptionElement method has already used the check
against null before any call happens on the icon which logic is
enough for the onBrowserEvent check as well.
Marco Collovati [Sat, 19 Sep 2015 20:54:48 +0000 (22:54 +0200)]
Implemented HasEnabled on VLink (#18530)
Method setWidgetEnabled in AbstractComponentConnector,
called from updateEnabledState, sets enable state only for widgets
implementing HasEnabled interface.