A general-purpose editor inspired by Azure IoT Central's model editor currently supporting DTDLv2.
NOTE: This project was generated with Angular CLI version 12.2.6 and uses Angular Material.
- Basic support for:
- Interfaces,
- Properties,
- Commands,
- Telemetry,
- Components,
- Relationships (and Propertes)
- Basic validation
- Importing existing models
- Copy/Save models locally
- Editor settings
- Set base DTMI
- Full DTDL validation
- Semantic Types
- Schema Definitions
- Command Request/Response payloads
- DTDLv3 (depends on Microsoft's timeline)
- Advanced Model Organization
- Model Graph View
- Basic model simulations
- Very little validation is in place
- Saving DTDL currently preserves NULL values (will fail validation)
- Base DTMI is inherited for all new capabilities
- Component and Relationship references are limited
Model validation will be performed using Microsoft's DTDL model validator:
https://github.com/azure-samples/dtdl-validator/tree/master/
-
Install NodeJS and
npm
. -
Install Angular globally:
npm install -g @angular/cli
-
Install reflect-metadata:
npm install reflect-metadata
-
Install npm packages:
npm update
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.