Vaadin Framework 8.0.0.beta2
Pre-release
Pre-release
Vaadin Framework 8.0.0.beta2 is a pre-release version for evaluating the enhancements mentioned below. This beta release has improvements based on your feedback on 8.0.0.beta1. Thank You and Keep Them Coming! We might change things on further beta versions based on feedback if necessary.
Enhancements introduced in 8.0.0.beta2
Component API
DateTimeFieldandInlineDataTimeFieldcomponents for selecting time- Replacing old V7
DateFieldandInlineDateField, but value isLocalDateTimeinstead ofDate
- Replacing old V7
- Added convenience constructors to all components (similar to constructors in V7)
- Added empty selection functionality to NativeSelect
- Added
AbstractComponent::setDescription(String, ContentMode)for setting description content mode - Grid's Columns can be setup now automatically with
new Grid<>(MyBean.class) - Added "deselect allowed" feature for Grid
- Make it possible to disable user selection for Grid's SelectionModels
- Grid's Columns can be now ordered and sorting set using the Column ids
Binder and Fields
- Added
Binder::setReadOnly Binder::forMemberFieldis added for automatically binding a field to a bean property without the need to complete the binding withbinding.bind(propertyName)before callingbinder.bindInstanceFields(obj)- Added
LocalDateToDateConverter - Value equality check in
AbstractFieldis overridable - Included previous value in
ValueChangeEvent - Added
HasValue::getOptionalValue - Added shorthand to
Binderfor adding aValueChangeListenerto all the fields in the binder
New data provider filtering API
- Sorting and filtering is stateful for application settings and stateless for component settings
- Custom back end data providers can be implemented using factory methods in
DataProvideror by subclassingAbstractBackEndDataProvider. ListDataProviderhas methods for setting filters and sort orders and for creating wrappers that filter by some other typeDataProvider.withConvertedFiltercan be used to create a wrapper with a different query filter typeDataProvider.withConfigurableFiltercan be used to create a wrapper with a settable filterAppendableFilterDataProviderandDataProvider.withFilterconcepts have been removed
Web component integration
- It is possible to define the root element for JavaScript components
- Allow multiple
@JavaScriptand@StyleSheetannotations on a component - Support HTML imports with
@HtmlImportfor easier web component integration
Documentation updates
- Added a Migration Guide
- Documentation has been updated for version 8 for most parts, e.g. Component documentation has been updated
Miscellaneous
- Vaadin Icons are now included in the FW
- Support for HTML5 History API push/replaceState
- Unsupported browser page has been updated to look nice
Breaking Changes since 8.0.0.beta1
com.vaadin.shared.ui.label.ContentModehas been moved tocom.vaadin.shared.uiBeanBinderhas been merged intoBinder- replace
new BeanBinder(Myclass.class)withnew Binder(Myclass.class)
- replace
com.vaadin.shared.ui.datefield.ResolutionforDateFieldandInlineDateFieldis replaced bycom.vaadin.shared.ui.datefield.DateResolutionListinghas been removed and replaced withHasItems,HasDataProviderandHasFilterableDataProviderBackEndDataProviderhas been changed into an interface, replaced byAbstractBackEndDataProvider/CallBackDataProvider- The Sorting API in
ListDataProviderandBackEndDataProviderhas been changedsortingByis replaced bysetSortOrderandsetSortOrdersforBackEndDataProvidersortingByis replaced bysetSortComparator,addSortComparator,setSortOrderandaddSortOrderforListDataProvider
- Switched
AbstractComponent::setDescription(String)to set description as innerText instead of HTML by default DataProviderfiltering API has been refactored completely, see documentation for referencegetFirstSelectedItemreplacesgetFirstSelectedforSelectionEvent,SingleSelectionEventandMultiSelectionEvent