Eclipse Scout Release Notes
About This Release
The latest version of this release is: 25.1.0-beta.5.
You can see the detailed change log on GitHub.
Coming from an older Scout version? Check out the Migration Guide for instructions on how to obtain the new version and upgrade existing applications.
The here described functionality has not yet been released and is part of an upcoming release. |
New Data Object API for Scout JS
Scout JS now supports DataObjects to be written as classes in TypeScript.
A new serialization mechanisms takes care of recursively (de)serializing such DataObjects in a way compatible with the Scout Java backends.
It supports base types like number
, string
, boolean
, but also more complex types like Array
, Date
, Map
, Set
or nested Data Objects.
Also, TypeScript specific types like Record
or string literal types are supported.
Please read the DO documentation for Scout JS for more details and the advantages of the new API. It is recommended to switch to the new API where ever possible by following the steps from the migration guide. An example implementation can be found in the REST HowTo which might be helpful to understand the new concepts.
Behavior Change of Scout JS Utilities objects.valueCopy, objects.equals And objects.equalsRecursive
In order to support the new class-based Data Objects, these functions had to be improved as follows:
-
Date
: is compared by its value (rather than the reference===
as before) and copied by value (new instance is created). -
Map
: is deeply compared by its content (rather than the reference===
as before) and deeply copied. -
Set
: is deeply compared by its content (rather than the reference===
as before) and deeply copied. -
The function
objects.valueCopy
uses the functionclone
if existing to create deep clones (except forWidgets
). -
The function
objects.equalsRecursive
uses the same equals logic asobjects.equals
which includes equality for empty arrays and the use of theequals
functions of the objects, if available.
IId signature
The mechanism that adds signatures to IId
is now available for the service tunnel.
For more information see IId signatures in service tunnel.
Migration handler for deletion of data object contributions
The new AbstractRemoveDoEntityContributionValueMigrationHandler
can be used when a data object contribution class is completely deleted.
This migration handler will remove the contribution with the given type name and type version from the data objects.
Table default row action
The Scout JS Table
has a new property defaultRowAction
of type Action
.
If set, this action is executed when a row is double-clicked.
Prior to the execution, a rowAction
event is triggered.
When default is prevented on this event, the defaultRowAction
is not executed.
The defaultRowAction
can be used to execute a particular Menu
of the Table
on a row action.
It can be specified in the TableModel
by referencing the id of the Menu
.
defaultRowAction: 'MyMenu',
menus: [{
id: 'MyMenu',
objectType: Menu
}]