-
Notifications
You must be signed in to change notification settings - Fork 9
New Feature Integration
Some services are available everywhere in the app such as settings and the simulation service. These can be accessed by every view. See Common TypeScript use cases
For details on adding external tools to the download manager, see Release Process
The activation of a feature in the application is based on action mappings. For example, double clicking a file with the extension .mm.json opens the multi-model view. Implementation wise, the following is executed:
menuHandler.openMultiModel = (path: string) => {
openView(null, view => new MmViewController(view, path));
};
This action mapping is based on the file extension (mm.json) and set up in the project browser source.
There are different approaches to implementing the controller to be invoked when double clicking a file. The preferred approach is the one similar to the example above. This approach is used for the views: HTML, Multi-Model, COE, DSE, and Traceability. See how these are implemented in the app and mimic them.
Checklist for adding a new feature:
- Implement your new feature and view. Begin simple until the bootstrapping is working.
- Add feature category in
class Project
located in src/proj/Project.ts - Add action mappings in
class BrowserController
located in src/proj/projbrowserview.ts (typically create, open, rename, and delete) - Implementing action mappings in
class InitializationController
located in src/init.ts.