Teemu Pöntelin [Tue, 11 Mar 2014 17:45:38 +0000 (19:45 +0200)]
Fix for width issue of TabSheet (#12805)
Width of v-tabsheet-tabcontainer was set by copying the width
from the ComponentConnector. This produced an incorrect result
when a relative width (other than 100%) was used. Fixed by
assigning the width to 100% when the TabSheet has a defined
width.
Fabian Lange [Wed, 12 Mar 2014 11:47:00 +0000 (12:47 +0100)]
reduce frequency of session locking and StreamingProgressEvents (#13155)
This change introduces throttling of streaming progress events. Before
a event was fired once a buffer was filled. However as the buffer is only
4kb in size, fast uploads would trigger massive amounts of events.
This change is backwards incompatible on a logical level. Before this
change, a listener would get contentLength/4kb events, while after this
change the amount is limited to one progress event per 500ms.
Fabian Lange [Wed, 26 Feb 2014 18:17:21 +0000 (19:17 +0100)]
Preventing premature start of drag due to Chrome move event #13381
The drag only actually starts when the mouse move or touch move event is
more than 3 pixel away.
The purpose is twofold:
a) it fixes the glitchy behaviour of Chrome which for some reason
sometimes fires a move directly after the mousedown, which starts a drag
immediately.
b) it helps people with shaky hands or imprecise hardware, why might not
want to drag but to select but slightly move the pointer. Some frameworks
opted to make the distance configurable.
Due to sub pixels (which might be the cause for a) in the first place),
a distance of 1 or 2 pixel is not enough. Experiments showed that unaware
users did not notice that 3 pixels movement are required for the drag to
actually start (the ghost has already a delay of 300ms)
Change-Id: I71b50b72486344a7dbe4ed927b34b1f8fab0db20
Class AbstractTransactionalQuery should be public (#12285)
AbstractTransactionalQuery was not visible outside its package
(default visibility). Added `public`.
Making this class public avoids lots of boilerplate code when making
alternate implementations of a QueryDelegate.
A standard TableQuery does a lot of introspection on the DB schema.
If the schema is known beforehand, alternate implementations may specify
this information explicitly, and inherit from AbstractTransactionalQuery
to reuse part of the implementation.
Artur Signell [Tue, 25 Feb 2014 09:09:01 +0000 (11:09 +0200)]
Remove applet test which does not work reliably
As long as nobody is constantly updating the java version on the test
cluster and additionally ensures that no manual interaction is needed for
Java applets to run, this test is not useful
Olli Helttula [Fri, 7 Feb 2014 11:07:45 +0000 (13:07 +0200)]
Change copying of Date values to avoid wrapping of date (#13269)
The error occurs only when current day is in the end of the month and
the textfield has no value when choosing months in the CalendarPanel.
This can not be sensibly tested by automated tests as it would require
setting the server time to a date that would trigger the problem (for
example 30.1). The error does not occur if the value is set before
setting the resolution (by the user or programmatically).
Henri Sara [Thu, 30 Jan 2014 09:39:57 +0000 (11:39 +0200)]
Use Calendar as sender for action handlers (#13191)
The sender parameter to action handlers is now the Calendar instance
rather than an instance of a private RPC implementation class. This was
probably broken by an earlier refactoring.
Artur Signell [Mon, 20 Jan 2014 18:35:41 +0000 (20:35 +0200)]
Add deprecated expand ratio methods to FormLayout (#12876)
FormLayout has never implemented expand ratios but does not
tell the developer about it either. Throwing an UnsupportedOperationException
would make this very clear but at the same time would break
existing applications which use the methods or which handle
AbstractOrderedLayouts in a generic way.
Jarno Rantala [Tue, 14 Jan 2014 08:02:34 +0000 (10:02 +0200)]
Remove unselected rows from selection on client side (#13008)
When server communicates the selected rows to the client side, client
side datastructure of selected row keys is updated such that also the
keys that has been unselected on server side are removed. This makes
the test MultiSelectWithRemovedRow to pass.
Tomi Virtanen [Wed, 27 Nov 2013 13:10:41 +0000 (15:10 +0200)]
Selected option is updated when item caption changes in Select (#9250)
Fixed ComboBoxConnector to update input-element text to match the changed item caption. Added SelectItemCaptionRefresh test case and TestBench2 (html) test for it.
Jarno Rantala [Fri, 3 Jan 2014 12:39:58 +0000 (14:39 +0200)]
Ignores scroll events while update from server is in progress (#11454)
When ItemSetChange event occurs, it will recreate the rows in client side.
This will mess up the scroll position in scrollBodyPanel when its content
is removed. This why the onScroll events should be ignored until
the scroll position is reset by lazyScroller.
Tomi Virtanen [Mon, 9 Dec 2013 11:44:27 +0000 (13:44 +0200)]
Upload control with empty selection (#9602)
Event is now sent on submit even if no file is selected. Removed forceSubmit UIDL attribute and replaced it with a UploadClientRpc call. Added TestBench3 test.
Jarno Rantala [Wed, 11 Dec 2013 09:10:43 +0000 (11:10 +0200)]
Moved selection of selected rows in TableConnector to occur after the new rows are created (#13008)
The selection of selected rows happened before the new rows were created. This resulted in situation
where the visible items on server side were different than the rows in scrollbody during the selection
of selected rows. Therefore, the selected keys in uidl contained wrong information and some selected
rows was marked as unselected even though they shouldn't. This again resulted in the original bug that
all the rows was not selected because the 'selectionRangeStart' row was not selected anymore.