]> source.dussan.org Git - vaadin-framework.git/log
vaadin-framework.git
4 years agoUpdate Chrome version check to 85 (#12090) (#12102) 8.11 8.11.3
Anna Koskinen [Wed, 9 Sep 2020 10:29:57 +0000 (13:29 +0300)]
Update Chrome version check to 85 (#12090) (#12102)

* Update Chrome version check to 85 (#12090)

4 years agoUpdate ServletPortletHelper.java (#12087) (#12100)
Anna Koskinen [Mon, 7 Sep 2020 14:58:10 +0000 (17:58 +0300)]
Update ServletPortletHelper.java (#12087) (#12100)

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>
4 years agoOnly remove caption margin from the first visible tab. (#12078) (#12099)
Anna Koskinen [Mon, 7 Sep 2020 14:41:41 +0000 (17:41 +0300)]
Only remove caption margin from the first visible tab. (#12078) (#12099)

Fixes #10437

4 years agoAdd 1px buffer to Escalator column natural widths. (#12075) (#12098)
Anna Koskinen [Mon, 7 Sep 2020 14:30:42 +0000 (17:30 +0300)]
Add 1px buffer to Escalator column natural widths. (#12075) (#12098)

The purpose of the buffer is to avoid subpixel handling issues,
especially when zoomed in or out.

In case fractions need to be adjusted for browser compatibility, round
up to ensure the contents have the space they need.

Fixes #12048

4 years agoFix to natural column width calculations in Table footer. (#12074) (#12097)
Anna Koskinen [Mon, 7 Sep 2020 14:21:57 +0000 (17:21 +0300)]
Fix to natural column width calculations in Table footer. (#12074) (#12097)

4 years agoAdd a regression test for Table's RowGenerator feature. (#12069) (#12071)
Anna Koskinen [Tue, 11 Aug 2020 14:08:39 +0000 (17:08 +0300)]
Add a regression test for Table's RowGenerator feature. (#12069) (#12071)

There used to be a TB2 test for this once upon a time, but for some
reason that never got converted into a TB3 test before getting removed.

4 years agoExplicitly remove old dataprovider listener when new one is set (#12064) (#12067) 8.11.2
Anna Koskinen [Mon, 10 Aug 2020 09:24:11 +0000 (12:24 +0300)]
Explicitly remove old dataprovider listener when new one is set (#12064) (#12067)

* Explicitly remove old dataprovider listener when new one is set (#12064)

If not done, this can cause memory leakage

Fixes: #12065
4 years agoFix possible NPE with MPR (#12040) (#12066)
Anna Koskinen [Mon, 10 Aug 2020 09:13:25 +0000 (12:13 +0300)]
Fix possible NPE with MPR (#12040) (#12066)

* 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

4 years agoRevert 'Rewrote debouncing of onResize (#11899)' (#12051) (#12056)
Anna Koskinen [Wed, 15 Jul 2020 09:15:37 +0000 (12:15 +0300)]
Revert 'Rewrote debouncing of onResize (#11899)' (#12051) (#12056)

Fixes #12049

4 years agoAdd support for "ww" in date format (#12037) (#12052)
Anna Koskinen [Tue, 14 Jul 2020 09:46:27 +0000 (12:46 +0300)]
Add support for "ww" in date format (#12037) (#12052)

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>
4 years agoUpdate release-note template 8.11.1
Zhe Sun [Thu, 2 Jul 2020 05:18:15 +0000 (08:18 +0300)]
Update release-note template

4 years agoCherry pick 8.11.1 (#12046)
Zhe Sun [Wed, 1 Jul 2020 09:44:55 +0000 (12:44 +0300)]
Cherry pick 8.11.1 (#12046)

* 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>
4 years agoUse Rebase and Merge, Please (#12023) 8.11.0
Zhe Sun [Tue, 26 May 2020 09:59:06 +0000 (12:59 +0300)]
Use Rebase and Merge, Please (#12023)

4 years agoUpdate release-notes.html
Zhe Sun [Tue, 26 May 2020 05:16:45 +0000 (08:16 +0300)]
Update release-notes.html

4 years agoFix to compatibility Grid sorting after removing multi-select. (#12012) (#12013)
Anna Koskinen [Fri, 15 May 2020 11:34:02 +0000 (14:34 +0300)]
Fix to compatibility Grid sorting after removing multi-select. (#12012) (#12013)

* Fix to compatibility Grid sorting after removing multi-select. (#12012)

Adapted from V7 fix #10999

4 years agoFixed error message to use given parameters. (#12008) (#12011)
Anna Koskinen [Fri, 15 May 2020 09:06:48 +0000 (12:06 +0300)]
Fixed error message to use given parameters. (#12008) (#12011)

Fixes #11993

4 years agoCatch exception that is thrown when Grid is scrolled during operation (#12002) (...
Anna Koskinen [Fri, 15 May 2020 08:03:40 +0000 (11:03 +0300)]
Catch exception that is thrown when Grid is scrolled during operation (#12002) (#12009)

IllegalStateException may occur if user has scrolled Grid (compatibility library version) so that Escalator has updated, and row under Editor is no longer there

Issue #11463

4 years agoRemoving deprecated parameter (#12004) (#12007)
Anna Koskinen [Thu, 14 May 2020 09:21:38 +0000 (12:21 +0300)]
Removing deprecated parameter (#12004) (#12007)

Fixes: https://github.com/vaadin/framework/issues/11958
Authored-by: Tatu Lund <tatu@vaadin.com>
4 years agoFix indexing issue in Compatibility Grid resize when scrolled to bottom. (#12003...
Anna Koskinen [Thu, 14 May 2020 09:06:45 +0000 (12:06 +0300)]
Fix indexing issue in Compatibility Grid resize when scrolled to bottom. (#12003) (#12006)

Issue #11893

4 years agoUpdate firefox version to 75 (#12000) (#12005)
Anna Koskinen [Thu, 14 May 2020 08:39:12 +0000 (11:39 +0300)]
Update firefox version to 75 (#12000) (#12005)

Authored-by: Zhe Sun <31067185+ZheSun88@users.noreply.github.com>
4 years agoUpdated release-notes.html (#11998) 8.11.0.beta1
Anna Koskinen [Tue, 12 May 2020 09:05:44 +0000 (12:05 +0300)]
Updated release-notes.html (#11998)

* Updated release-notes.html

4 years agoSupport for javax.validation @NotEmpty annotation. (#11985) (#11997)
Anna Koskinen [Tue, 12 May 2020 08:50:58 +0000 (11:50 +0300)]
Support for javax.validation @NotEmpty annotation. (#11985) (#11997)

* Support for javax.validation @NotEmpty annotation. (#11985)

Fixes #10914

4 years agoUpdate release note for 8.11 beta
Zhe Sun [Tue, 12 May 2020 06:51:11 +0000 (09:51 +0300)]
Update release note for 8.11 beta

4 years agoRefresh DataProvider only once when reordering the grid using GridRowDragger (#11981)
Martín López [Mon, 11 May 2020 07:00:35 +0000 (04:00 -0300)]
Refresh DataProvider only once when reordering the grid using GridRowDragger (#11981)

Fixes #10844

4 years agoRemoved unused parameter from DataNode creation (#11976)
James Pether Sörling [Mon, 11 May 2020 05:57:02 +0000 (07:57 +0200)]
Removed unused parameter from DataNode creation (#11976)

Fixes #11958

4 years agoFixed a problem with example code in article "Letting The User Download A File" ...
Martín López [Fri, 8 May 2020 16:50:20 +0000 (13:50 -0300)]
Fixed a problem with example code in article "Letting The User Download A File" (#11971)

Fixes #10580

4 years agoFix RTA's CreateLink in Firefox & IE11 (#11979)
Tarek Oraby [Fri, 8 May 2020 12:46:59 +0000 (15:46 +0300)]
Fix RTA's CreateLink in Firefox & IE11 (#11979)

In Firefox and IE11, the 'Create Link' button of the RichTextArea (RTA) only works by turning some highlighted text into a link (by adding the inserted URI as the href property of the text). In that, the RTA in these two browsers behave similarly to the way it does in Chrome and Edge. However, in Firefox and IE11, clicking the 'Create Link' button has no effect if no text is pre-selected by the user. This is different from the button's behavior in Chrome and Edge where the user's provided URI is inserted, both, as the displayed text and its href property if no text is highlighted.

This fix enables the RTA's 'Create Link' button to work consistently across the supported browsers. Specifically, (and in addition to enabling adding the href property of a highlighted text), this fix enables Firefox and IE11 to also insert a new Uri as a text and its href property if no text is already highlighted.

fixes #11888

4 years agoTake overlays into account in getConnectorForElement. (#11980)
Anna Koskinen [Tue, 5 May 2020 07:46:38 +0000 (10:46 +0300)]
Take overlays into account in getConnectorForElement. (#11980)

* Take overlays into account in getConnectorForElement.

Fixes #11212

4 years agoAllow replacing all columns at once when some of them are frozen. (#11978)
Anna Koskinen [Thu, 30 Apr 2020 11:31:09 +0000 (14:31 +0300)]
Allow replacing all columns at once when some of them are frozen. (#11978)

Fixes #11824

4 years agoFix the column width calculations for full width cell contents. (#11974)
Anna Koskinen [Wed, 29 Apr 2020 07:33:54 +0000 (10:33 +0300)]
Fix the column width calculations for full width cell contents. (#11974)

Fixes #11973

4 years agoFix hiding / un-hiding with frozen columns in multiselect mode (#11972)
Tatu Lund [Tue, 28 Apr 2020 10:12:08 +0000 (13:12 +0300)]
Fix hiding / un-hiding with frozen columns in multiselect mode (#11972)

The previous patch https://github.com/vaadin/framework/pull/11951 did fix the problem (frozen column indicator wrongly positioned)  it was meant to, but caused a regression in hiding / un-hiding.

This new fix addresses both problems, i.e. it applies multiselect column compensation in other way, without causing problem in hiding / un-hiding logic

Fixes https://github.com/vaadin/framework/issues/11970

4 years agoDon't center a window that has already been removed. (#11956)
Anna Koskinen [Fri, 24 Apr 2020 08:26:04 +0000 (11:26 +0300)]
Don't center a window that has already been removed. (#11956)

* Don't center a window that has already been removed.

Fixes #11942

4 years agoAdd missing since tag (#11957) 8.11.0.alpha1
Zhe Sun [Thu, 23 Apr 2020 11:04:32 +0000 (14:04 +0300)]
Add missing since tag (#11957)

4 years agoUpdating release notes (#11955)
Tatu Lund [Thu, 23 Apr 2020 11:03:45 +0000 (14:03 +0300)]
Updating release notes (#11955)

* Updating release notes

* Fixing typo

4 years agoFix incorrect position of column selector in MPR (#11953)
Tatu Lund [Tue, 21 Apr 2020 12:42:47 +0000 (15:42 +0300)]
Fix incorrect position of column selector in MPR (#11953)

Cherry pick from
https://github.com/vaadin/framework/pull/11946

4 years agoAdd asMultiSelect() to Tree class (#11949)
Tarek Oraby [Tue, 21 Apr 2020 11:37:54 +0000 (14:37 +0300)]
Add asMultiSelect() to Tree class (#11949)

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

4 years agoFixed the JavaDoc (#11950)
Vesa Nieminen [Tue, 21 Apr 2020 10:32:18 +0000 (13:32 +0300)]
Fixed the JavaDoc (#11950)

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

4 years agoAllow AbstractDateField to provide DST zone names over custom ranges (#11927)
Tarek Oraby [Tue, 21 Apr 2020 09:22:45 +0000 (12:22 +0300)]
Allow AbstractDateField to provide DST zone names over custom ranges (#11927)

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

4 years agoAdd methods to control validation (#11945)
Tatu Lund [Tue, 21 Apr 2020 08:38:19 +0000 (11:38 +0300)]
Add methods to control validation (#11945)

- 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>
4 years agoAdd multiselect column compensation (#11951)
Tatu Lund [Mon, 20 Apr 2020 11:55:01 +0000 (14:55 +0300)]
Add multiselect column compensation (#11951)

4 years agoUpdating Chrome version (#11952)
Tatu Lund [Thu, 16 Apr 2020 05:45:53 +0000 (08:45 +0300)]
Updating Chrome version (#11952)

4 years agoUpdate Liferay kernel version (#11943)
Tatu Lund [Thu, 9 Apr 2020 10:13:07 +0000 (13:13 +0300)]
Update Liferay kernel version (#11943)

Liferay 7.3 series have kernel version 10.x, i.e. limit needs to be extended from 10 -> 11

Fixes: https://github.com/vaadin/framework/issues/11938
4 years agoExpired session: use 403 Forbidden instead of 410 Gone (#11859)
Felix Fontein [Wed, 8 Apr 2020 11:48:27 +0000 (13:48 +0200)]
Expired session: use 403 Forbidden instead of 410 Gone (#11859)

Use 403 Forbidden instead of 410 Gone when session expired. Also prevent caching in more cases.

4 years agoSet DateField value only if it passes range check (#11887)
Tatu Lund [Wed, 8 Apr 2020 09:17:11 +0000 (12:17 +0300)]
Set DateField value only if it passes range check (#11887)

Fixes #11108

4 years agoDetermine Push transport before re-connect (#11884)
Tatu Lund [Tue, 7 Apr 2020 13:38:44 +0000 (16:38 +0300)]
Determine Push transport before re-connect (#11884)

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

4 years agoUpdate hibernate dependency (#11905)
Tatu Lund [Tue, 7 Apr 2020 11:02:52 +0000 (14:02 +0300)]
Update hibernate dependency (#11905)

Vaadin is not affected by CVE-2014-3558, the purpose of the update is avoid false positive alarm.

Fixes: https://github.com/vaadin/framework/issues/11903
4 years agoRemove unnecessary null-check at ValueContext constructors (#11915)
Konstantin Kuzmin [Tue, 7 Apr 2020 10:19:02 +0000 (12:19 +0200)]
Remove unnecessary null-check at ValueContext constructors (#11915)

4 years agoAdded missing blank line, which fussed up the text (#11935)
thigg [Tue, 7 Apr 2020 07:42:35 +0000 (09:42 +0200)]
Added missing blank line, which fussed up the text (#11935)

4 years agoChange to using StringBuilder (#11941)
Hk-tang [Mon, 6 Apr 2020 14:38:29 +0000 (08:38 -0600)]
Change to using StringBuilder (#11941)

Should use a StringBuilder to accumulate strings in a loop, to avoid the performance cost of repeatedly constructing strings.

4 years agoFix sanitization of empty RTA input for Firefox & IE (#11937)
Tarek Oraby [Mon, 6 Apr 2020 10:29:18 +0000 (13:29 +0300)]
Fix sanitization of empty RTA input for Firefox & IE (#11937)

Browsers differ in what they return as the content of a visually empty rich text area (RTA). Accordingly, RTA sanitizes these different values ensuring an empty string is returned to the framework. However, existing sanitization criteria doesn't work for Firefox 74 and Internet Explorer 11.

This fix appends the sanitization criteria of Firefox 74 and IE 11, ensuring an empty string is returned to the framework for a a visually empty RTA.

Closes #10338

4 years agoAllow setting Upload button caption as HTML, move data to SharedState. (#11940)
Anna Koskinen [Mon, 6 Apr 2020 09:25:50 +0000 (12:25 +0300)]
Allow setting Upload button caption as HTML, move data to SharedState. (#11940)

Fixes #11810

4 years agoPrevent upload if no file is selected. (#11939)
Anna Koskinen [Fri, 3 Apr 2020 10:24:11 +0000 (13:24 +0300)]
Prevent upload if no file is selected. (#11939)

Fixes #10419

4 years agoFix NPE in FileUploadHandler when use Upload.interruptUpload(). (#11797)
Dyorgio Nascimento [Thu, 2 Apr 2020 13:01:41 +0000 (10:01 -0300)]
Fix NPE in FileUploadHandler when use Upload.interruptUpload(). (#11797)

Fixes #11806

4 years agoEnsure ChangeListener still works after first upload. (#11936)
Anna Koskinen [Wed, 1 Apr 2020 08:38:11 +0000 (11:38 +0300)]
Ensure ChangeListener still works after first upload. (#11936)

Fixes #10420

4 years agoEnsure recalculateColumnWidths works with refreshAll. (#11934)
Anna Koskinen [Tue, 31 Mar 2020 10:47:28 +0000 (13:47 +0300)]
Ensure recalculateColumnWidths works with refreshAll. (#11934)

Column widths shouldn't be calculated between the clearing of cache and
re-populating it, but be delayed until the cache has some content again.
The calculations should only be triggered immediately if no rows are
expected.

Fixes #9996

4 years agoUpdated LayoutTester screenshots for IE and FF. (#11930)
Anna Koskinen [Fri, 27 Mar 2020 10:53:53 +0000 (12:53 +0200)]
Updated LayoutTester screenshots for IE and FF. (#11930)

* Updated LayoutTester screenshots for IE and FF.

4 years agoFix an issue with frozen column count and unhiding. (#11929)
Anna Koskinen [Thu, 26 Mar 2020 11:41:30 +0000 (13:41 +0200)]
Fix an issue with frozen column count and unhiding. (#11929)

* Fix an issue with frozen column count and unhiding.

Unhiding logic should take into account that there can be hidden frozen
columns that are not the column currently getting shown.

4 years agoAdd setters to Criterion to fix serialization. (#11926)
Anna Koskinen [Thu, 26 Mar 2020 08:51:19 +0000 (10:51 +0200)]
Add setters to Criterion to fix serialization. (#11926)

Fixes #11909

4 years agoTweaked layouttester tests to be more informative. (#11800) (#11813)
Anna Koskinen [Mon, 23 Mar 2020 15:48:20 +0000 (17:48 +0200)]
Tweaked layouttester tests to be more informative. (#11800) (#11813)

4 years agoSimplify Grid sidebar handling. (#11920)
Anna Koskinen [Mon, 23 Mar 2020 09:01:25 +0000 (11:01 +0200)]
Simplify Grid sidebar handling. (#11920)

There is no need to reset the sidebar for every column that is set
hidable within the same roundtrip. Because no other layouting depends on
the sidebar contents, we can safely delay the reset until all columns
have got their hidabiity status updated. As a bonus point, when the
reset itself is delayed, the headers have time to get populated and the
sidebar button's height can be determined immediately at attach. The
reset ensures that attach is called every time a column's hidability is
changed.

4 years agoPrevent a gap within Grid rows in some resize situations. (#11918)
Anna Koskinen [Tue, 17 Mar 2020 08:17:48 +0000 (10:17 +0200)]
Prevent a gap within Grid rows in some resize situations. (#11918)

Fixes #11892

4 years agoTrigger re-measure after updating ElementResizeListeners. (#11912)
Anna Koskinen [Mon, 9 Mar 2020 14:54:13 +0000 (16:54 +0200)]
Trigger re-measure after updating ElementResizeListeners. (#11912)

Removing ElementResizeListeners from an element makes it unmeasurable
and clears any saved measured values. Adding the listeners back makes
the element measurable again but doesn't add it to measuring queue.
Measuring needs to happen or any updates to expanded components within a
layout (without changes that would trigger full re-measuring of the
layout itself) lead to broken expand size calculations with any fixed
size elements assumed to have no size.

Fixes #10734

4 years agoFurther tweaks to ComboBox popup positioning. (#11910)
Anna Koskinen [Fri, 6 Mar 2020 11:03:21 +0000 (13:03 +0200)]
Further tweaks to ComboBox popup positioning. (#11910)

* Further tweaks to ComboBox popup positioning.

- Updated a comment and renamed a private method for better clarity.
- Blocked unnecessary position updates.
- Added a test for #11866 / #11894.

4 years agoAdding missing setPopupPosition(left, top); (#11902)
Tatu Lund [Mon, 2 Mar 2020 06:43:38 +0000 (08:43 +0200)]
Adding missing setPopupPosition(left, top); (#11902)

* Adding missing setPopupPosition(left, top);

setPopupPosition(left, top); needs to be called in order to top position to be set

Fixes https://github.com/vaadin/framework/issues/11894

4 years agoRewrote debouncing of onResize (#11899)
Tatu Lund [Thu, 27 Feb 2020 11:02:16 +0000 (13:02 +0200)]
Rewrote debouncing of onResize (#11899)

* Rewrote debouncing of onResize

Fixes https://github.com/vaadin/framework/issues/11892

* Fixing typo in variable name

4 years agoRemoving code causing the trouble (#11898) pr11907/r7
Tatu Lund [Mon, 24 Feb 2020 10:51:20 +0000 (12:51 +0200)]
Removing code causing the  trouble (#11898)

* Removing code causing the  trouble

Removing code that was apparently not needed in previous fix and caused regression

Fixes: https://github.com/vaadin/framework/issues/11895
* Added feature to test UI

* Added test case

* Adding missing import

* Fixing test UI

* Enable DateField

4 years agoAdded note to DateField#setRangeStart JavaDoc (#11886) pr11907/r6
Tatu Lund [Wed, 19 Feb 2020 07:18:03 +0000 (09:18 +0200)]
Added note to DateField#setRangeStart JavaDoc (#11886)

* Added note to DateField#setRangeStart JavaDoc

* Added additional checking of valid startDate

* Reverted previous commit

4 years agoUpdate Chrome version (#11891) pr11907/r5
Tatu Lund [Tue, 18 Feb 2020 11:27:28 +0000 (13:27 +0200)]
Update Chrome version (#11891)

4 years agoFix logic of lexicographical comparison of DateField range end (#11885) pr11907/r4
Tatu Lund [Thu, 13 Feb 2020 07:40:12 +0000 (09:40 +0200)]
Fix logic of lexicographical comparison of DateField range end (#11885)

* Fix logic of lexicographical comparison of DateField range end

Fix logic of lexicographical comparison of DateField range end with large year numbers ( > 9999)

Fixes #11881

* Added tests

Purpose of dateFieldRangeYearDigitsIncrease() is to test that rangeEnd works correctly on 4 to 5 digits change boundary

Purpose of dateFieldRangeYearBigNumbersPopupOpens() is to test that popup opens also when there is more than 4 digits in year

* Fixing typo

* Add error message

* Set the date of the field in test

* Fixing

4 years agoUpdate Navigator.getState() JavaDoc to be more accurate (#11876) pr11907/r3
Tatu Lund [Tue, 28 Jan 2020 14:59:21 +0000 (16:59 +0200)]
Update Navigator.getState() JavaDoc to be more accurate (#11876)

Fixes: https://github.com/vaadin/framework/issues/11875
4 years agoDon't reset date to current at DateField state (e.g. read-only) updates. (#11879) pr11907/r2
Anna Koskinen [Tue, 28 Jan 2020 10:34:22 +0000 (12:34 +0200)]
Don't reset date to current at DateField state (e.g. read-only) updates. (#11879)

- DateFields with month or year resolution should not get their date
reset to current date if the field's state is updated (e.g. by changing
read-only status or adding a range).

Fixes: #11864, #11605
4 years agoUpdate to 8.11 snapshot (#11874) pr11907/r1
Zhe Sun [Thu, 16 Jan 2020 12:14:32 +0000 (14:14 +0200)]
Update to 8.11 snapshot (#11874)

* Update to 8.11-SNAPSHOT

4 years agoTreeDataProvider: Apply filters to children (#11868)
Tatu Lund [Thu, 16 Jan 2020 00:25:46 +0000 (02:25 +0200)]
TreeDataProvider: Apply filters to children (#11868)

Fixes: https://github.com/vaadin/framework/issues/9933
Cherry pick from: https://github.com/vaadin/flow/pull/7317

4 years agoEnsure value change happens before shortcuts in compatibility components (#11871)
Anna Koskinen [Wed, 15 Jan 2020 15:07:14 +0000 (17:07 +0200)]
Ensure value change happens before shortcuts in compatibility components (#11871)

Fixes #10854

4 years agoMaking setEditable friendlier (#11869)
Tatu Lund [Tue, 14 Jan 2020 13:36:15 +0000 (15:36 +0200)]
Making setEditable friendlier (#11869)

* 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

4 years agoConvert DateTimeFieldReadOnlyTest to not rely on screenshots. (#11870)
Anna Koskinen [Mon, 13 Jan 2020 18:08:08 +0000 (20:08 +0200)]
Convert DateTimeFieldReadOnlyTest to not rely on screenshots. (#11870)

4 years agoAdded Note about TextField in Header cell (#11858)
Tatu Lund [Mon, 13 Jan 2020 13:42:12 +0000 (15:42 +0200)]
Added Note about TextField in Header cell (#11858)

Fixes https://github.com/vaadin/framework/issues/9089

4 years agoConvert DateFieldReadOnlyTest to not rely on screenshots. (#11867)
Anna Koskinen [Fri, 10 Jan 2020 14:06:45 +0000 (16:06 +0200)]
Convert DateFieldReadOnlyTest to not rely on screenshots. (#11867)

4 years agoRemoved outdated spacer height update from removal process. (#11861)
Anna Koskinen [Thu, 9 Jan 2020 13:09:49 +0000 (15:09 +0200)]
Removed outdated spacer height update from removal process. (#11861)

* Removed outdated spacer height update from removal process.

Fixes #11856

4 years agoAdded notes in JavaDoc of TEXTFIELD_INLINE_ICON (#11860)
Tatu Lund [Wed, 8 Jan 2020 14:52:44 +0000 (16:52 +0200)]
Added notes in JavaDoc of TEXTFIELD_INLINE_ICON (#11860)

* Added notes in JavaDoc of TEXTFIELD_INLINE_ICON

Fixes https://github.com/vaadin/framework/issues/10752 and https://github.com/vaadin/framework/issues/9089

4 years agoFix to RadioButtonGroup readOnly handling. (#11855)
Anna Koskinen [Mon, 23 Dec 2019 07:08:43 +0000 (09:08 +0200)]
Fix to RadioButtonGroup readOnly handling. (#11855)

* Fix to RadioButtonGroup readOnly handling.

Updated the connector to use the widget's enabled and readOnly handling
as intended.

Fixes #11843

4 years agoAdded helper methods for setting only height or width full. (#11854)
Anna Koskinen [Fri, 20 Dec 2019 11:55:29 +0000 (13:55 +0200)]
Added helper methods for setting only height or width full. (#11854)

4 years agoAdded documentation of newly added Binder features (#11845)
Tatu Lund [Fri, 20 Dec 2019 10:47:24 +0000 (12:47 +0200)]
Added documentation of newly added Binder features (#11845)

4 years agoTest tweaks (#11851)
Anna Koskinen [Fri, 20 Dec 2019 09:18:03 +0000 (11:18 +0200)]
Test tweaks (#11851)

* Test tweaks

Less fixed waiting times when there are ways to check that the operation
has been performed. This will hopefully improve the stability a bit.

* Merge branch 'master' into updateTests20191218

4 years agoImprovements to popup positioning for ComboBox within HorizontalLayout. (#11846)
Anna Koskinen [Wed, 18 Dec 2019 13:18:56 +0000 (15:18 +0200)]
Improvements to popup positioning for ComboBox within HorizontalLayout. (#11846)

Expand ratio and spacing can cause ComboBox to miscalculate its own
position while layouting is still ongoing. Popup should not be
repositioned in such circumstances in order to avoid incorrect
intermediate states.

Continues on #11718

4 years agoChrome updated to 79 (#11847)
Anna Koskinen [Wed, 18 Dec 2019 08:27:50 +0000 (10:27 +0200)]
Chrome updated to 79 (#11847)

4 years agoRelease notes (#11842) 8.10.0.alpha1
Anna Koskinen [Mon, 9 Dec 2019 10:19:46 +0000 (12:19 +0200)]
Release notes (#11842)

4 years agoTest tweaks (#11841)
Anna Koskinen [Fri, 6 Dec 2019 00:49:54 +0000 (02:49 +0200)]
Test tweaks (#11841)

- Use BrowserStack workaround for proper sendKeys functionality on IE11.
- TreeGridBigDetailsManagerTest: allow two pixel discrepancy in expected
scroll position to accommodate IE.
- TreeWideContent: switched from raw type to type inference.
- ValoColorPickerInputFormatsTest: switched equals comparison to correct
way around.
- ResponsiveLayoutUpdateTest: updated screenshots for IE
- ColumnCollapsingAndColumnExpansionTest: updated screenshots for IE
- ClosingWindowWithBrowserFrameShouldntGenerate404Test: test is
incompatible with IE driver, excluded from tested browsers. In manual
testing IE doesn't get 404 in the logs with or without the fix
associated with this test but there are other client-side exceptions
related to focus handling in either case. However, those are out of
scope for this particular fix and should be investigated separately.

4 years agoClose window on ESC, when maximized button is clicked (#11840)
Anastasia Smirnova [Thu, 5 Dec 2019 18:33:31 +0000 (20:33 +0200)]
Close window on ESC, when maximized button is clicked (#11840)

Fixes #11838

Changes:

1. Close a window when maximized button is focused and ESC is pressed
2. Add additional check for a close button to react to the ESC key press
3. Rename a private method `onCloseClick` to `closeWindow` to allow code re-use

4 years agoAdded @since tags, some tweaks to formatting. (#11839)
Anna Koskinen [Wed, 4 Dec 2019 12:38:04 +0000 (14:38 +0200)]
Added @since tags, some tweaks to formatting. (#11839)

4 years agoMake VaadinService.cleanupSession public (#11738)
Knoobie [Tue, 3 Dec 2019 14:20:19 +0000 (15:20 +0100)]
Make VaadinService.cleanupSession public (#11738)

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."

4 years agoSimplify Grid scroll handling. (#11835)
Anna Koskinen [Tue, 3 Dec 2019 11:13:49 +0000 (13:13 +0200)]
Simplify Grid scroll handling. (#11835)

If first attempt at scrolling doesn't succeed it's unlikely that
continuing to wait is going to make any difference. Cache should be
populated before triggering any actions that depend on the row being
visible, otherwise it should be enough to trust that scrollToRow
actually scrolls to row and once scrolling is done the row is as much in
view as it's going to get. This way we don't get into a situation where
Editor never opens because it's still waiting for that one last pixel
that can't be achieved thanks to browser zoom causing rounding errors.

Continues on #11672

4 years agoMake asRequired conditional on binding.setAsRequiredEnabled(..) (#11834)
Tatu Lund [Mon, 2 Dec 2019 09:08:01 +0000 (11:08 +0200)]
Make asRequired conditional on binding.setAsRequiredEnabled(..) (#11834)

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

4 years agoAdd method writeBeanAsDraft(bean) in Binder (#11833)
Tatu Lund [Fri, 29 Nov 2019 12:33:59 +0000 (14:33 +0200)]
Add method writeBeanAsDraft(bean) in Binder (#11833)

* 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

4 years agoDelegate enabled handling to Composite root. (#11832)
Anna Koskinen [Tue, 26 Nov 2019 07:58:26 +0000 (09:58 +0200)]
Delegate enabled handling to Composite root. (#11832)

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

5 years agoAdd support for excess slashes within static file request path. (#11827)
Anna Koskinen [Fri, 22 Nov 2019 08:24:35 +0000 (10:24 +0200)]
Add support for excess slashes within static file request path. (#11827)

5 years agoFix issue where Chrome refused to select text in Table (#11709) (#11818)
Anna Koskinen [Thu, 21 Nov 2019 19:17:05 +0000 (21:17 +0200)]
Fix issue where Chrome refused to select text in Table (#11709) (#11818)

Manual cherry-pick from Vaadin 7.

5 years agoUpdated local screenshot testing configurations. (#11814)
Anna Koskinen [Thu, 21 Nov 2019 13:33:04 +0000 (15:33 +0200)]
Updated local screenshot testing configurations. (#11814)

* A separate screenshot module hasn't been in use for a while but local
testing configurations and instructions weren't updated to the new model
at the time. Could use some further cleanup but this covers the basics.
* Some tweaks to ScreenshotBrowser to get it functional again, although
the actions for automatically replacing or adding alternative
screenshots still require work and have thus been disabled.

5 years agoDon't attempt to send expand/collapse events for disabled TreeGrid. (#11823)
Anna Koskinen [Thu, 21 Nov 2019 05:43:14 +0000 (07:43 +0200)]
Don't attempt to send expand/collapse events for disabled TreeGrid. (#11823)

The attempt gets blocked later down the line in any case and never
reaches the server, but sending it messes up TreeGrid's internal state.
It gets stuck waiting for the resolution of the blocked call that can
then only be resolved by server-side sending its own expand/collapse
request programmatically. Until that happens no further expand/collapse
attempts will get sent to server even after the TreeGrid has been
enabled again.

Tree is also affected as it is built upon TreeGrid.

Fixes #11822

5 years agoDecode path in getStaticFilePath (#11812)
Tatu Lund [Tue, 19 Nov 2019 12:31:18 +0000 (14:31 +0200)]
Decode path in getStaticFilePath (#11812)

* 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.