Angular Expanders 7.0.0
Changes and improvements
Upgrade to Angular 21 and Angular Material 21
For this release we updated all the code to Angular 21, in order to stay up to date with the releases and best
practices.
Added DataProjection support
A mechanism has been implemented to facilitate fetching of different DataProjections if the used control layer allows
this (std-api). The defaults are set to details for getSingle calls and info for getList calls. This
implementation also allows the use of calculated fields with the info projection now.
Double check in your application if the same table columns are still shown. The option cruds.table.hide is now also
taken into account.
For the moment, the possible projections are set by a ModelLoadingListener that defaults to the info
($DataConnector$-table.model.ts) and details ($DataConnector$.model.ts) projections. In the future it will be
possible to manually define other projections as well.
Added Finder support
We have added a FinderConnector and QueryConnector that implements the new abstract FilterConnector. This
allows to support finders as well as querysearch at the same time (depending on what control layer you are using).
The option hasSearchBar has also been ported. Like in KO this will expand a
searchbar in the header of the list page connected to a finder defined by the specified value of the option.
Related to the addition of a universal Filter feature, previously only one querysearch was supported to be used as a
filter. This has been changed to any amount of querysearches and finders.
Added Authorization support
We have added AuthorizationRights to make certain parts of the application not accessible (used in guards,
directives, services). These rights can be accessed through the ACTION_AUTHORIZATION_SOURCE InjectionToken,
the interface can be provided by a control layer specific implementation, or you can provide your own. Some directives have been added to handle authorization on the most common used components
ButtonAuthorizationDirectiveTableRowActionMenuAuthorizationDirective
These directives handle disabling components as well as showing tooltips on why it is disabled. You can look at these as examples when wanting to use the authorization feature somewhere else.
Added support for swapping out default add/edit with DataOperations
Using the following tags you can now conditionally turn of some expanders:
#angular.data-view.action.add.custom: disable default add page.#angular.data-view.action.edit.custom: disable default edit page.#angular.data-view.action.delete.custom: disable default delete dialog.#angular.data-view.routing.add.disable: disable the add route.#angular.data-view.routing.edit.disable: disable the edit route.- Added feature anchors to remaining
DataViewactions (add, edit, delete, details, list).
Refactored use of HttpClient
We have added an API specific HttpClient. This allows for easy changing of authentication headers, error handling
etc. per different API implemented. The implicit behavior of the http interceptors is also now removed. To facilitate the removal of the use of interceptors a lot of operator functions that handled the logic of the interceptors have been created.
handleDataAccessErrorhandleAlertErrorhandleDataAccessFormErrornotifyDataConnectorSuccessEventnotifyDataConnectorFailureEvent
The new client is still based on the angular HttpClient and all functionality of this client can still be used.
Metamodel changes and additions
Metamodel additions of abstract Connector and View. This allows for easier extension of different types of views
(e.g. ListView, InstanceView, FilterView) or connectors (e.g. DataProjectionConnector, DataOperationConnector,
...).
- Allowed file type validation
- Dynamic sidebar support
- New
functionsfolder in structure - Resolved filename encoding issues
- Added error handling for std-api



