Replace AngularJS views with Python views
The version of AngularJS we are using is old and unsupported, and there is no migration path to newer Angular versions. The way we use AngularJS is non-standard, so it's difficult even for people with AngularJS experience. We don't use all the power of this framework.
If we write the dynamic parts we need in plain JS and leave most of the heavy lifting on the Python side, this will dramatically reduce the amount of JS code that needs to be maintained.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Tatiana Ovchinnikova
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
The following Horizon views are currently using AngularJS by default:
Images panel
Roles panel
Keypairs panel
We need to identify the differences in those panels between the Python and Angular implementations, and add them as work items to this blueprint.
Work Items
Work items:
Review Keypairs panel: DONE
Key pair create form needs to be implemented in Python, current implementation is in Angular: TODO
We need to add collapsible chevrons to the table, with extra information. This should be possible with a bootstrap component: TODO
Review Images panel: DONE
Add collapsible chevrons with more information to the images table: TODO
Modernize the filter support: TODO
Add image requirements section to the create image dialog, with Kernal and Ramdisk fields: TODO
Update the visibility setting fields, to have Private/
Add image metadata editing step: TODO
Add image activate/deactivate actions: TODO
Review Roles panel: DONE
Add search/filtering to the Roles panel: TODO