The Angular source will benefit from re-organization to
1) align module names with their directory structure
2) make it clear what is "framework" code (reusable utilities), what is "core business logic" of the horizon UI, and what is code that bootstraps the application.
See https://review.openstack.org/#/c/176152/ for an example of the full set of proposed changes. The ideas in that patch are well supported by cores and the PTL, however that patch is too large to be easily reviewed and merged. Instead, create a series of smaller, dependent patches that incrementally make the desired improvements.
List of in-progress changes:
1) Create a "framework" directory
2) Create a "util" directory and populate it with utilities
3) Create a "widgets" directory and populate it with the widgets
4) Align the module names with their directory structure
5) Align constant, service and factory names with their modules
6) Move API support files to openstack_dashboard
7) Move horizon/js/angular/filters to framework/utils
8) Refactor the "hz" module to "hz-app" and move as much "legacy" code
as possible into the new structure (out of horizon/js/angular)
List of additional possible changes:
?) Align controller names to include their module
?) Clean up unneeded dependencies
- We may consider moving wizard.js dependency on 'ui.bootstrap' as a dependency to horizon module.
- It seams we can remove `horizon.framework.util.i18n` from here.
Fix proposed to branch: master /review. openstack. org/182891
Review: https:/