Angular Expanders 4.5.0
Migration guide
@imports anchor
Some expanders have been migrated to the new import system, see changelog for the list. This means that feature anchor for imports are no longer necessary and hence they have been removed. To add imports in these files you can add uses
statements to the feature expander.
Name changes
Some services have changed name to better comply to the guidelines or to better describe the functionality. This reflects in custom imports and need to be checked.
dataConnector.service
->DataConnector-data-access.service
dataConnector.datasource
->DataConnector-data-source.service
dataConnector.filtersource
->DataConnector-filter-source.service
dataConnector-infinite.datasource
->DataConnector-infinite-data-source.service
.data
models have been changed to.document
.
Moved service injection location
Instead of injection services in the constructor they are now injected as variables. This is also done using the new import system, which makes it easier to maintain. See changelog for the list of affected files. It also changed some of the injected names used:
dataSource
->dataConnectorDataSource
filterSource
->dataConnectorFilterSource
route
->activatedRoute
translate
->translateService
Mapping location change
DataConnector
models are not mapped in the DataConnector-data-access.service
anymore, but have there dedicated mapping services now. If any customizations were added to these mappings, then the corresponding harvest code needs to be moved to the new mapping services.
Removed shared components
The DropdownComponent
and MultiSelectDropdownComponent
have been removed and the use has been replaced with the select
component from ngx-ns-core
.
Default translation file
The default translation file has changed from en.json5
to gen.json5
. This one is used by default, but can be replaced with a custom one by using option angular.defaultLanguage
on AngularApp
. You should change the name of the harvest file to keep custom translations.
Functional key -> id
In this version a refactoring has been done to not rely on functional key of the DataElement
as a variable anymore, but use a generic id name. This impacts routes and method arguments.
Routes
In places where you retrieve the id from the route, the name of the variable should be changed.
const id = this.activatedRoute.snapshot
.paramMap.get('externalId');'
const id = this.activatedRoute.snapshot
.paramMap.get('id');
Method arguments
The method interface has been altered in places where the id of an element is needed to use id instead of functional key. This has been done to better comply to the id
and displayLabel
field added to all element models. This can be used with duck typing as well now.
getSingle({ uuid }: { uuid: string }): Observable<DemoElementModel>
getSingle({ id }: { id: string }): Observable<DemoElementModel>