Change BackEndDataProvider into an interface (#8268)
* Change BackEndDataProvider into an interface
BackEndDataProvider is now an interface with methods for setting
sorting options based on SortOrder instances.
AbstractBackEndDataProvider stores sorting options, combines them with
the sorting provided in the query and invokes its own abstract fetch and
size methods.
CallbackDataProvider implements a BackEndDataProvider based on two
lambdas.
This is one of many steps towards #8245
Support for HTML5 push/replaceState for proper deep linking features (#8116)
* Added support for HTML5 push/replaceState for proper deep linkin features
* Automated test script now works at least on chrome
* Uses html5 push/popstate to implement uri fragment feature
* fire legacy fragment change events also via popstate events rpc calls
* send new fragments via pushstate mechanism
* formatting
* Formatting and adding test and workaround for IE bug
* Formatting and depracated UriFragmentListener
* Aligned naming in the new API
* Ignored IE due to web driver bug
Tested a workaround with javascript based window.location.href fetch,
but that don’t seem to work stable enough.
Replace Listing with HasDataProvider and HasFilterableDataProvider (#8122)
* Replace Listing with HasDataProvider and HasFilterableDataProvider
The type parameters of the Listing interface does in practice mean that
it isn't useful for anything. This patch replaces that interface with
separate types for components that require filterable data providers and
components that support any kind of data provider.
The setItem methods are extracted to a common interface that is also
directly implemented by AbstractListing.
* Fix TestBench API imports, move functionality from custom elements
* Fixes to TestBench APIs and JavaDocs
* Merge remote-tracking branch 'origin/master' into 578_tbapi_cleanup
* Fix method name in CheckBoxGroupTest
* Remove unused custom element classes
* Implement getOptions using getOptionElements
* Replace setValue with setSelection in CheckBoxGroupElement
* Rename CheckBoxGroupElement getSelection to getValue
* Fix one last method
Correctly reset DataCommunicator when its DataProvider is changed (#8138)
* Correctly reset DataCommunicator when its DataProvider is changed
* Improve ReplaceDataProviderTest
* Remove return type from AbstractListing.readItems
Change-Id: I73201908b537ca0a65106e03c9bad913b59fae9f
Re-added back disappeared commit from 7.7.5 migration PR:
Mark TextField/TextArea as busy when a text change event is pending
(#20469)
Change-Id: I404985ae0be1e7dc65171b610032f8649e700f50
Include Framework Element API for TestBench in the project (#8014)
This makes it possible to use the latest Element classes in the
framework tests and to simplify the build process.
The license for the included element classes are changed to Apache2
The upload test should use an Upload in non-immediate mode because the
file name is written in-line into the Upload text input and the button
is used to upload a file without showing a file chooser dialog. The test
for upload in immediate mode works for Chrome (no file chooser window
issue) but it doesn't work for IE11 (at least, may be the same issue for
FF).
So the test UI is just updated to use non-immediate mode.
Use PhantomJS2 for server integration tests (#8030)
* Run server integration tests with PhantomJS2
* Add delay to integration test screenshots
Otherwise, the progress indicator might still be fading when the
screenshot is taken, and the screenshots are not fully stable.
* Reduce integration test startup delays
* Add PhantomJS2 screenshots for integration tests
* Add PhantomJS2 screenshots for tomcat 7 proxy test
* Fix context menu missing box-shadow for Runo on Chrome (#7966)
Change-Id: I318761527a695c741f52b4c18e9f8ea943f89017
* Update Chrome version in VerifyBrowserVersionTest
* Prevent adding several scrollbar handlers (#19189).
Change-Id: Ib0cc6c6835aab6d263f153362a328bcf2be7bc5c
* Prevent adding several scrollbar handlers (#19189).
* Keep expand ratio for last row/column when reducing grid layout size (#20297)
Change-Id: Iff53a803596f4fc1eae8e4bfa307b9c1f4df961a
* Fixed drag and drop failure when message dragged from email client (#20451)
When dragging message form email client on Windows, item.webkitGetAsEntry()
might return null creating NPE on the client side. Added additional checks
for this situation.
Change-Id: I569f7e6d0d7b137f24be53d1fbce384695ae8c73
* Change expected pre-release version number pattern in publish report
Change-Id: Icdacecc490d2490ea9e262f5c5736c1dece2a89d
* Mark TextField/TextArea as busy when a text change event is pending
(#20469)
Change-Id: I404985ae0be1e7dc65171b610032f8649e700f50
# Conflicts:
# client/src/main/java/com/vaadin/client/ui/VTextField.java
# uitest/src/main/java/com/vaadin/tests/components/textfield/TextChangeEvents.java
* Fixed touch scrolling issue in Surface and WP devices (#18737)
Fixed by using pointerevents instead of touchevents when the browser is
IE11,
or Edge. Also added touch-action: none; css rules into escalator.css to
prevent
default touch behaviour on IE11 and Edge. Does not affect IE8 to IE10
browsers,
behaviour on those will stay the same as before the fix.
No new unit tests since we do not have automatic touch testing
possibilities yet.
Please test manually with Surface: IE11 and Edge, use for example
uitest:
com.vaadin.tests.components.grid.basics.GridBasicsomponents.grid.basics.GridBasics
Change-Id: Iddbf1852e6ffafc855f749d6f4ebb235ed0f5703
* Add lazy/simple resize mode to Grid (#20108)
Change-Id: I47427efc28c350382dba8c1f50fd332a3f4585e4
# Conflicts:
# client/src/main/java/com/vaadin/client/connectors/GridConnector.java
# client/src/main/java/com/vaadin/client/widgets/Grid.java
# server/src/main/java/com/vaadin/ui/Grid.java
# shared/src/main/java/com/vaadin/shared/ui/grid/GridState.java
# themes/src/main/themes/VAADIN/themes/base/grid/grid.scss
# uitest/src/main/java/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeatures.java
Change-Id: Ieca56121875198ed559a41c143b28926e2695433
* Fix NPE in case some items don't contain all properties of Grid.
This could occur in when parent is a different entity than its children
in hierarchical data.
Change-Id: Icd53b5b5e5544a3680d0cd99702ab78224b2dc08
# Conflicts:
# server/src/main/java/com/vaadin/data/fieldgroup/FieldGroup.java
# server/src/main/java/com/vaadin/ui/Grid.java
* Mark TextField/TextArea as busy when a text change event is pending
(#20469)
Change-Id: I404985ae0be1e7dc65171b610032f8649e700f50
# Conflicts:
# client/src/main/java/com/vaadin/client/ui/VTextField.java
# uitest/src/test/java/com/vaadin/tests/components/textfield/TextChangeEventsTest.java
* Add lazy/simple resize mode to Grid (#20108)
Change-Id: I47427efc28c350382dba8c1f50fd332a3f4585e4
* Removed V8 VTextField unused import, forgotten @RunLocally.
* Don't rely on selenium "sendKeys" behavior.
* Revert "Change expected pre-release version number pattern in publish report"
This reverts commit 8df27b952d.
* Migrate TextField/TextArea patch from 7.7 to master (modern components)
Mark TextField/TextArea as busy when a text change event is pending
(#20469)
Change-Id: I404985ae0be1e7dc65171b610032f8649e700f50