Jouni Koivuviita [Thu, 12 Jun 2014 12:44:14 +0000 (15:44 +0300)]
Fix overlay animation-in/out for VNotification and PopupView
- Notification delay now applied to browsers without CSS animation
support
- PopupView now also supports animation-in and animation-out, and also
shows the “loading” widget when the popup is opened and the server
response takes a little longer. The popupComponentWidget is also kept
in the popup during the animation-out
Jouni Koivuviita [Tue, 10 Jun 2014 19:53:58 +0000 (22:53 +0300)]
Multiple fixes to Valo theme
- Added initial Sass API for Accordion and TabSheet (previously only
one mixin)
- Renamed ‘darker-of’ function to ‘darkest-color’, which now supports
more than two colors
- Refactored notifications to use the new position classes as well as
the new animation-in/out functionality
- Refactored overlay styles to use animation-in/out functionality
- Fixed all unwanted white-space and scrollbar issues in all browsers
(font-size:0 or line-height:0 no longer necessary), and fixes vertical
centering in horizontal layout (#13671)
- Fixed borderless menubar clicking bug (Firefox and Opera)
- Fixed table column selector, which no longer produces scrollbars if
placed directly inside a scrollable area in full size
- Fixed table outline overflow in Opera (now using box-shadow instead
in all other browsers except IE8)
- Added toolbar support for windows (header and footer)
- Moved optional notification styles to common-stylenames.scss
Leif Åstrand [Fri, 13 Jun 2014 06:44:54 +0000 (09:44 +0300)]
Use more exact paths for ivysettings.xml and build.properties (#13616)
Defining the paths to be relative to the workspace is needed for
compatibility with older versions of IvyDE / Eclipse. All other
dependencies are already defined in this way, it's only this new gwt
dependency that isn't consistent with the others.
Teemu Pöntelin [Tue, 3 Jun 2014 18:00:48 +0000 (21:00 +0300)]
Fix for handling selectors with both width and height ranges (#13587)
This fix splits the used regular expressions into a more manageable
parts while fixing the handling of a case where both width-range and
height-range are defined. Also refactored some duplicate code into
a helper function.
Henri Sara [Mon, 24 Mar 2014 14:32:20 +0000 (16:32 +0200)]
Fix tooltip test problems caused by #12458
Tooltips are no longer removed but moved outside the viewport,
which broke several tests.
Rewrite related tests using TB4 to be stable across all
browsers. There are differences between browsers (e.g.
position -999 or -1000, gwt-uid-* varied between browsers
etc.) so TB2 tests kept failing on some or all browsers.
Some tests have been renamed to better indicate what they
do.
Fabian Lange [Thu, 22 May 2014 22:36:56 +0000 (00:36 +0200)]
Allow inlining of JsonCodec#encode (#13814)
JsonCodec#encode() is a frequently called (hot) method. However in its
current form it is too long to be inlined.
This review reduces the length of the method from 454 bytes instructions
to 311 and optimises flow of common calls.
It however has a behaviour change for esoteric edge cases where the
order would matter. Like a custom collection which extends JSONArray and
implements collection. Previously it would have been handled by the
collection case, now its the JSONArray case. However it can be assumed
that the result: serialized to valid JSON is the same.
Implement Notification animation with CSS (#13660)
Default opacity (90%), fade duration (400ms) and fade delay (1000ms) are
defined in the base theme.
“In” animations can be defined by using a dependent stylename
‘animate-in’ (prefixed with the widgets own primary stylename), e.g.
'v-Notification-animate-in'. That CSS class should then have a CSS
animation specified, and the CSS animation name should contain
'animate-in', e.g.
Tomi Virtanen [Fri, 16 May 2014 08:25:01 +0000 (11:25 +0300)]
Fix for 'Aborting layout after 100 passess' (#13359)
'Aborting layout after 100 passes.' is caused by LayoutManager falling
into a loop on rounding fractional layout slot sizes up and down while
trying to fit layout's content in the space available. LayoutManager
round always up, that causes this issue with IE9+ and Chrome. This
change helps LayoutManager to round fractional sizes down for browsers
that causes problems if rounded up.
Browsers may fall into the loop especially with a zoom level other than
100%. Not with any zoom level though. Problematic zoom level varies by
browser. OrderedLayoutExpandTest uses zoom levels other than 100%. Test
for Chrome is the only one that really is able to reproduce error
without the fix. IE9/10 would too, but the zoom level could not be set
exactly to the required 95% for IE. Test works best as a regression test
for other browsers.
The UI.pushConnection field is transient no longer; instead PushConnection
implementations must take care of serialization internally. When a session
is serialized, the client should notice that push was disconnected and
try to reconnect. A deserialized PushConnection should be in a "disconnected"
state so the eventual client reconnection works correctly.
cleanConnectorMap is a hot method.
This change improves multiple code paths:
1) The global resource handler is no longer get()ed from the session for
each connector (was in two loops).
2) The ConnectorTracker is no longer get()ed from the UI for each
connector (was in one loop).
3) values() iterator for ClientConnectors replaces
keySet() iterator + get(key) call
4) use getUI() from ClientConnector instead manual method.
5) moved removeUnregisteredConnectors to ease inlining and readability.
getAllChildrenIterable() is invoked frequently, its used by
attach/detach and markAsDirty.
Because of the implementation detail in CombinedIterator, on every call
all iterators are checked. This means that on every component which has
multiple childs, each next() call will first check the extension
iterator, before advancing in the child iterator.
By having the childs first, this overhead is reduced. If no extensions
are existing (which is quite common) the iterator is not added at all.
(creating an iterator on an empty UnmodifiableCollection is waste of
time and memory)
Leif Åstrand [Fri, 16 May 2014 08:31:14 +0000 (11:31 +0300)]
Replace use of deprecated DOM.setStyleAttribute method (#13781)
This change is only a brain dead replacement of one specific method. In
some cases, there were some oddities in the surrounding code as well,
but these were left unresolved on purpose.
It should also be noted that DOM.setStyleAttribute just delegates to
element.getStyle().setProperty(), so any null references would have
caused problems already in the existing code.
Manolo Carrasco [Wed, 14 May 2014 10:55:47 +0000 (12:55 +0200)]
Make Hearbeat available to other modules (#13250)
- When a mobile app goes online/offline we need to change
Heartbeat interval and restart the schedule.
- We also need to be notified about response status in
order to show the appropriate offline UI, etc.
Related with Issue #13250 and review https://dev.vaadin.com/review/#/c/3376/
John Ahlroos [Thu, 24 Apr 2014 18:12:15 +0000 (21:12 +0300)]
Allow editing colorpicker values in colorpicker in textfield #13469
This fix adds support for typing in color values according to
http://www.w3schools.com/cssref/css_colors_legal.asp into the
colorpicker popup input textfield.