Add ContentMode for the description of MenuItems (#9984)
Adds the ability to set the content mode for the description of a menu item that is part of a menu bar.
This functionality was already available for every AbstractComponent but missing for the menu items of menu bars.
If no content mode is specified it defaults to the PREFORMATED content mode.
Also update declarative writing to use true instead of "" for empty
attributes because of changed defaults in JSoup. For v7, the tests are
updated instead of touching the implementations.
* Changed retrieval of names of nested properties (#10159)
The getName() function in NestedBeanPropertyDefinition will return only the top level name, which causes problems when adding a nested property that has the same name as a non-nested (e.g "value" & "sub.value")
This change should fix this behaviour by changing the return value of "getName()" of NestedBeanPropertyDefinition and introducing a function "getTopLevelName()" that only returns the last part of the full name for where it's needed
* Rename HierarchicalDataCommunicator#getMapper to getHierarchyMapper
* Make rpc field in Notification private
* Change DropIndexCalculator.ALWAYS_DROP_TO_END to a generic static method
* Move EditorImpl#editRow documentation to the interface level
* Correct GridDragEndEvent, GridDragStartEvent constructor javadocs
* Revert SharedState.registeredEventListeners to a Set
* Rename GridDropTarget dropAllowedOnSortedGridRows
* Rename ColumnState.contentMode to tooltipContentMode
Extract AbstractBeanPropertyDefinition and PropertyFilterDefinition (#10344)
This commit extracts the private nested class AbstractBeanPropertyDefinition from BeanPropertySet to a public class of package com.vaadin.data.
Additionally, the nested protected class PropertyFilterDefinition is extracted from NestedBeanPropertyDefinition to a public class in package com.vaadin.data.
* Added Griddragger.
* Refactored the GridDragger to match FW style
Unit tests, Test UI and documentation to come next.
* Change DropMode to BETWEEN and add Test UIs
* Simplify GridDragger API
* Fixes and unit tests for GridDragger
Fixed issues regarding drop index calculation when sourche and target grid is the same.
When the ListDataProvider is not internally using List, always drops to the end.
Updates the old data provider instead of creating a new one to preserve filters&sorting.
Add new drop mode ON_GRID for GridDropTarget (#10296)
* Add new drop mode ON_GRID for GridDropTarget
Also adds a way to not accept drops on rows when the user has sorted the grid.
This way the bad UX can be avoided for showing the drop indicator for the wrong place when the grid has been sorted.
This has not been made default behavior to GridDropTarget since it would change behavior compared to 8.1.
Instead if is triggerable via API in GridDropTarget.
* Refactor sorted grid drop logic to server side
* Block setDropMode calls
Blocking setDropMode set values if the grid has been sorted and drop on
sorted rows is not allowed. The value is used once the grid is not sorted
anymore or the drops are allowed on sorted rows.
HasItems.setItems(T... items) should allow edits (#10290)
* HasItems.setItems(T... items) should allow edits
Arrays.asList() creates a immutable Arrays.ArrayList, preventing users from doing dataProvider.getItems() and updating the returned collection. This makes it impossible to keep the same data provider, update it and keep the filters & sorting, and then just call dataProvider.refreshAll() to get changes visible. We should not require users to create a new data provider in this case.
This is the same for DataProvider.ofItems(T... items)
* fix missing whitespace from test error message
Grid column to be sortable when implemented/supported (Fixes #8792). (#10190)
* Grid column to be sortable when implemented/supported
* Fix GridDeclarativeTest
* Parameterize to Grid<Person>
* Revert Parameterize to Grid<Person>, JDK with generics.
* Assertions for other columns
* Fix test
Fixes #8792
AbstractDateField.formatDate() to be abstract (#10186)
* AbstractDateField.formatDate to be abstract
Remove invalidDateString paramter, as it can be deduced
* Fix test
* Remove AbstractDateField.getResolutionVariable
VAbstractTextualDate: rename updateDateVariables() to updateBufferedResolutions()
* Revert to use fixed value of MONDAY.
* release notes
* updateAndSendBufferedValues()
* Missed call to updateAndSendBufferedValues();
* release note
* Added the possiblity of defining a Field as Required without
setting an error message.
* Added @since to asRequired()
* Add droped paragraphs and see tag for asRequired(String)