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.servicedataConnector.datasource->DataConnector-data-source.servicedataConnector.filtersource->DataConnector-filter-source.servicedataConnector-infinite.datasource->DataConnector-infinite-data-source.service.datamodels 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->dataConnectorDataSourcefilterSource->dataConnectorFilterSourceroute->activatedRoutetranslate->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>
