Skip to content

Vaadin Framework 8.0.0.beta2

Pre-release
Pre-release

Choose a tag to compare

@pleku pleku released this 03 Feb 08:58
· 1826 commits to master since this 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

  • DateTimeField and InlineDataTimeField components for selecting time
    • Replacing old V7 DateField and InlineDateField, but value is LocalDateTime instead of Date
  • 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::forMemberField is added for automatically binding a field to a bean property without the need to complete the binding with binding.bind(propertyName) before calling binder.bindInstanceFields(obj)
  • Added LocalDateToDateConverter
  • Value equality check in AbstractField is overridable
  • Included previous value in ValueChangeEvent
  • Added HasValue::getOptionalValue
  • Added shorthand to Binder for adding a ValueChangeListener to 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 DataProvider or by subclassing AbstractBackEndDataProvider.
  • ListDataProvider has methods for setting filters and sort orders and for creating wrappers that filter by some other type
  • DataProvider.withConvertedFilter can be used to create a wrapper with a different query filter type
  • DataProvider.withConfigurableFilter can be used to create a wrapper with a settable filter
  • AppendableFilterDataProvider and DataProvider.withFilter concepts have been removed

Web component integration

  • It is possible to define the root element for JavaScript components
  • Allow multiple @JavaScript and @StyleSheet annotations on a component
  • Support HTML imports with @HtmlImport for easier web component integration

Documentation updates

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.ContentMode has been moved to com.vaadin.shared.ui
  • BeanBinder has been merged into Binder
    • replace new BeanBinder(Myclass.class) with new Binder(Myclass.class)
  • com.vaadin.shared.ui.datefield.Resolution for DateField and InlineDateField is replaced by com.vaadin.shared.ui.datefield.DateResolution
  • Listing has been removed and replaced with HasItems, HasDataProvider and HasFilterableDataProvider
  • BackEndDataProvider has been changed into an interface, replaced by AbstractBackEndDataProvider / CallBackDataProvider
  • The Sorting API in ListDataProvider and BackEndDataProvider has been changed
    • sortingBy is replaced by setSortOrder and setSortOrders for BackEndDataProvider
    • sortingBy is replaced by setSortComparator, addSortComparator, setSortOrder and addSortOrder for ListDataProvider
  • Switched AbstractComponent::setDescription(String) to set description as innerText instead of HTML by default
  • DataProvider filtering API has been refactored completely, see documentation for reference
  • getFirstSelectedItem replaces getFirstSelected for SelectionEvent, SingleSelectionEvent and MultiSelectionEvent

Full list of changes since 8.0.0.beta1