Adding a new view
We are using angular ui-router for views, which are called states for the router.
A UI-router state has 3 basic components: the data (api call to server), the template (HTML), controller logic (JS)
They need to be declared as a state in
- Template (HTML)
Resides in client/app/views. Just add a new file there. Easiest to copy-paste a similar example and then rework the copy.
- Controller (JS)
Should be in client/app/scripts/comparison/controllers. Again, copy-paste a similar example and work from there. For the .js to be included with the page, it needs to be added into client/app/build_blocks/comparison_js.html
- API call
Server side apis reside in server/views/. Again, copy-paste an existing example Any new files there need to be added to server/views/__init__.py to be accessible
Adding new directives and services
For small directives and services, just add them to client/app/general/controllers/Snippets.js For larger ones, follow the same steps as above for JS, only put them to /directives or /services folder instead of /controllers. For directives with large html templates, use /views/misc folder for the template html