Skip to content

How to's

Benjamin edited this page Dec 3, 2021 · 2 revisions

Page under construction


How to's

Add new entity to the management dashboard

Suppose you want to create a new model entity and include functionality to edit its data under the management section of the app. You'd have to follow these steps:

  • Create the model class in src/app/models/entities
  • Add an injection token for api client services to the file src/app/api/api-service-injection-tokens.ts
  • For each API module; both src/app/api/http and src/app/api/local-memory, do:
    • In the corresponding data/ subdirectory, create an implementation of ITransactionalEntityDataApiService<T> for your new model. However, if you just need to read data, you can implement IEntityDataApiService<T> instead.
    • In the module, add a provider for the new injection token, using this service implementation.
  • Create a reactive form component for your model in src/app/shared/components/, there's examples for every managed entity.
    • Remember to declare it in and export it from the module, like the rest of entity form components.
  • Add a component/service couple, like the existing ones in src/management/routes/. All of these are descendants of DataManagerComponentDirective<T> and DataManagerServiceDirective<T>). Make sure you use the correct injection token.
  • And finally, include the route data to forward to that component inside the array declared in src/management/management-routing.module.ts. The sidenav will show it up. However, remember that the API dictates which data contexts one is permitted to , calling /access/{context}.

You can let the entity form component do all the validation and execute business rules if any are required.

Clone this wiki locally