This mono-repository provides multiple examples of usage of ng-xtend framework. Each example is a separate package containing an Angular application, adding a specific use case over the previous one.
The table below describes the different examples:
| Example | Description | xt-render tag | Plugin type | Plugin Loading | Type system | Store |
|---|---|---|---|---|---|---|
| basic-example | Displays any object in various format in a generic way | Yes | Default | Static | No | No |
| typed-example | By describing the type handled, ng-xtend supports more use cases | Yes | Default | Static | Yes | No |
| plugin-example | Countries and Money fields looks nicer thanks to the newly added plugins. They are discovered and used transparently by the ng-xtend framework | Yes | Custom | Static | Yes | No |
| inout-example | A full list / edit / view flow is setup thanks to inputs / outputs connecting unknown components together. | Yes | Custom | Static | Yes | No |
| store-example | Edited elements are persisted between sessions thanks to the xt-store library included with the ng-xtend framework. | Yes | Custom | Static | Yes | Yes |
| advanced-type-example | Showcase support for advanced types and models (like references) | Yes | Custom | Static | Advanced | Yes |
| dynamic-example | Loads all plugins dynamically from another website using Native-Federation | Yes | Custom | Dynamic | Yes | Yes |
It is managed by rush, so you need to install rush globally,
then run rush install to install dependencies.
- The
rush buildcommand will build all packages.
Each package being an angular application, you can run ng serve to run them locally.
When loading the plugins dynamically, as for the dynamic-example example, you need to match exactly the version of Angular of the plugins. Hence the package.json for dynamic example enforces the angular version, and is defined in a separate subspace than the other examples. For more information, please see native federation blog
