| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This is needed to get /UIDL working behind a reverse proxy. Without the change pathInfo would be "/UIDL" but prefix would be "/UIDL/" in line 105.
Authored-by: Clemens von Schwerin <clemens.vonschwerin@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
(#12067)
* Explicitly remove old dataprovider listener when new one is set (#12064)
If not done, this can cause memory leakage
Fixes: #12065
|
|
|
|
|
|
|
|
| |
* Fix possible NPE with MPR (#12040)
It is possible when Vaadin 8 is used with MPR, that ui.getCurrent().getSession() returns null.
See: https://github.com/vaadin/multiplatform-runtime/issues/5
|
|
|
|
|
|
|
| |
Calculate number of the week in the year based on Date. Note, support for "ww" is missing from GWT DateTimeFormat and java.util.Calendar is not supported in GWT, hence DIY method is needed.
Fixes: #10603
Authored-by: Tatu Lund <tatu@vaadin.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix rendering of TreeGrid's frozen columns after hierarchy-column reset (#12028)
* Add tests
* Fix getVisibleFrozenColumnCount() if SelectionMode is multi
* Update ComboBox popup position comparison to use correct top value. (#12041)
Fixes #12029
* Clear thread local instances on connection lost in push handler (#12042)
Adopted from https://github.com/vaadin/flow/pull/8567
Co-authored-by: Tarek Oraby <42799254+tarekoraby@users.noreply.github.com>
Co-authored-by: Anna Koskinen <Ansku@users.noreply.github.com>
Co-authored-by: Tatu Lund <tatu@vaadin.com>
|
|
|
| |
Fixes #11993
|
|
|
|
|
| |
Fixes: https://github.com/vaadin/framework/issues/11958
Authored-by: Tatu Lund <tatu@vaadin.com>
|
|
|
|
|
|
| |
* Support for javax.validation @NotEmpty annotation. (#11985)
Fixes #10914
|
|
|
|
|
| |
(#11981)
Fixes #10844
|
|
|
| |
Fixes #11958
|
| |
|
|
|
|
|
| |
Tree class doesn't currently provide an obvious way that would enable a Tree object to be treated as a multi select. This commit extends the Tree API, enabling it to be used as a multi select, which would importantly facilitate the selection/deselection of multiple items in trees whose SelectionMode is MULTI.
closes #11948
|
|
|
|
|
| |
HierarchyMapper. getParentIndex() method has a different JavaDoc from the HierarchicalDataCommunicator. This is a simple fix for that.
https://github.com/vaadin/framework/blob/master/server/src/main/java/com/vaadin/data/provider/HierarchyMapper.java#L96
|
|
|
|
|
|
|
|
|
| |
DateTimeField and DateField currently implement a hardcoded logic by which they adjust their time zone names to display daylight-saving time (DST) zone names. Specifically, this hardcoded logic only adjusts the displayed date to DST format if that date falls in one of the years between 1980 and the following 20 years in the future from the current date (that is, until 2040 at the time of this commit).
For some use cases, this is problematic because it is desirable to display proper DST-adjusted time zones beyond the 20 years limit (and possibly also before 1980).
Rather than choosing another arbitrary, hardcoded threshold, this commit extends the AbstractDateField API to allow the user to choose the range (start and end years) between which the DST transition dates are calculated (and hence displayed properly). If the user doesn't invoke this new API, DateTimeField and DateField will default to behave according the existing logic (i.e. display DST zone names between 1980 and 20 years into the future).
Closes #11919
|
|
|
|
|
|
|
|
|
| |
- Enable / disable all validators on Binder level
- Enable / disable validators on Binding level
- add writeBeanAsDraft(bean,boolean) for writing draft bean with validators disabled
Fixes https://github.com/vaadin/framework/issues/10709
Co-authored-by: Zhe Sun <31067185+ZheSun88@users.noreply.github.com>
|
|
|
| |
Use 403 Forbidden instead of 410 Gone when session expired. Also prevent caching in more cases.
|
|
|
| |
Fixes #11108
|
|
|
|
|
|
|
|
|
| |
onConnect was allways called with websocket = false. I think this is wrong, since if there was connection loss in websocket, now connection cannot be re-established in websocket mode.
Fixes: https://github.com/vaadin/framework/issues/11299
This bug may have been manifesting in other ways as well
Recently similar fix was done in Flow as well, see: https://github.com/vaadin/flow/pull/7489
|
| |
|
|
|
| |
Should use a StringBuilder to accumulate strings in a loop, to avoid the performance cost of repeatedly constructing strings.
|
|
|
| |
Fixes #11810
|
|
|
| |
Fixes #10419
|
|
|
| |
Fixes #11806
|
|
|
|
|
|
|
|
| |
* Added note to DateField#setRangeStart JavaDoc
* Added additional checking of valid startDate
* Reverted previous commit
|
|
|
| |
Fixes: https://github.com/vaadin/framework/issues/11875
|
|
|
|
|
| |
Fixes: https://github.com/vaadin/framework/issues/9933
Cherry pick from: https://github.com/vaadin/flow/pull/7317
|
|
|
|
|
|
|
|
|
|
| |
* Making setEditable friendlier
The current behavior is not buggy, so this PR is an enhancement
Fixes https://github.com/vaadin/framework/issues/8718
* Improved JavaDoc
|
|
|
|
|
|
| |
* Added notes in JavaDoc of TEXTFIELD_INLINE_ICON
Fixes https://github.com/vaadin/framework/issues/10752 and https://github.com/vaadin/framework/issues/9089
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
to allow for better integration of third party applications handling the destruction of the session.
Usage example (see https://vaadin.com/directory/component/cleanupservlet-add-on/overview)
"It's possible to close a browser window in such way that neither UI cleanup nor session cleanup will happen until the underlying http session timeouts. This can happen because the design idea for heartbeat is to keep the UI alive, not to ensure timely cleanup, and as such the default check is only performed at the end of each request."
|
|
|
|
|
| |
It is a very common use case in complex form that whether a field is required or not, it depends on input on other fields. Hypothetical use case sample could be that we have form for a Product and price of the product is needed except in case the Product's type is Sample. So in that kind of scenarios it would be needed to turn off asRequired() validation easily. The purpose of this enhancement and new binding.setAsRequiredEnabled(..) API is to help implementation of this kind of use cases more easily.
https://github.com/vaadin/framework/issues/10709
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add method writeBeanAsDraft(bean) in Binder
With current Binder implementation it is not easy to support Forms, which you want to save as draft, i.e. incomplete. For example there can be big text areas, that require time to fill, or lot of fields. Therefore it is needed to that form can be saved, e.g. to other bean in incomplete state when it is not yet passing validation and this other bean can be persisted to draft storage for further editing in the future. This method helps to achieve that easily.
* Add test case for Binder.writeBeanAsDraft(bean)
Bind a field with validator, set value that does not pass validator and save, assert that value was saved.
* Updating test
* Fixing logic flaw in test
* Further improvement of the test case
* Clarification of the JavaDoc
* Fixing typo
* JavaDoc language check
* Fixing whitespace issue
* Fixing whitespaces
* Fixing whitespaces
* Updating JavaDoc
|
|
|
|
|
|
|
| |
Otherwise the changed state isn't communicated properly to the
client-side in the initial round trip, as the client-side uses the child
connector's state directly.
Fixes #11831
|
| |
|
|
|
|
|
| |
* Decode path in getStaticFilePath
Some containers do not decode path when using getPathInfo, in case path has not been decoded there is a risk for path traversal vulnerability.
|
|
|
|
|
|
| |
* Eliminate un-intuitive NPE
Fixes https://github.com/vaadin/framework/issues/10947
|
|
|
|
|
|
|
|
|
|
| |
* Cherry picks of Binder fixes in Flow
Addresses: https://github.com/vaadin/framework/issues/9000
Addresses: https://github.com/vaadin/framework/issues/11109
These changes are adopted from https://github.com/vaadin/flow/pull/4138 and https://github.com/vaadin/flow/pull/6757
|
|
|
|
|
|
| |
* Added missing constructor with scanNestedDefinitions option
Addresses https://github.com/vaadin/framework/issues/10949
|
|
|
|
|
|
|
|
|
|
| |
The Vaadin session itself is also stored in APPLICATION_SCOPE. The default
scope is PORTLET_SCOPE, so lock would be otherwise not be in sync with
the session.
To be able to do this, relevant methods in VaadinService are made protected so
that VaadinPortletService can override them.
Fixes #11611
|
|
|
|
|
|
|
|
| |
The checkbox for selecting all rows only selects all the rows that have
not been filtered out. Changing the filtering does not change the
selection or the checkbox state so assuming that all rows are selected
simply because the checkbox has been checked cannot work.
Fixes #11479
|
|
|
| |
Addresses https://github.com/vaadin/framework/issues/1262
|
|
|
|
|
| |
And corrected couple of typos
Addresses https://github.com/vaadin/framework/issues/11492
|
|
|
|
|
| |
- Row index counts up from zero, data provider size counts up from one,
as one would expect. If the two match we are already past the available
range.
|
|
|
| |
Addresses https://github.com/vaadin/framework/issues/11520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Checking the push configuration outside of session lock threw
an AssertionError, so the push configuration is not checked anymore.
- The original problem with cancelling Upload was due to a subtle
ordering issue that depended on the Push configuration.
In the case of PushMode.AUTOMATIC, a new StreamVariable was
added by the `Upload` component _before_ the `FileUploadHandler`
got a chance to remove the old `StreamVariable`. As a result, the
`FileUploadHandler` actually removed the fresh `StreamVariable`,
breaking future uploads.
Fixes #11682
|
|
|
| |
Addresses https://github.com/vaadin/framework/issues/10277
|
|
|
|
|
|
|
|
|
|
| |
* Added note in JavaDoc of removeColumn
https://github.com/vaadin/framework/issues/11722
* Merge branch 'master' into fix11722
* Merge branch 'master' into fix11722
|
|
|
|
|
|
|
| |
(#11710)
Removal of data communicator needs to happen before call to super.remove() since super.remove() sets parent to null causing the NPE.
Fixes https://github.com/vaadin/framework/issues/11617
|
|
|
| |
Fixes https://github.com/vaadin/framework/issues/11701
|