horizon/openstack_dashboard
Rob Cresswell 0e957dd41a Add Angular Schema Form
This patch adds Angular Schema Form[1] and its requirements to Horizon.
There are a number of advantages to this over the current methods of
defining forms and workflows:

- All fields have an individual template, making theming improvements,
  bug fixes, and bootstrap conformity easier.
- The file and line count, especially for workflows, is dramatically
  reduced. The Create Net workflow, for example, goes from 12+ files to
  2, with a big reduction in boilerplate HTML.
- All field validation messages are standardised, so we can match them
  across Horizon and plugins

What this patch contains:
- Many common form fields, including things like the themable checkboxes
  and selects.
- A basic modal template that can be passed with ui-bootstraps $modal
  service to take advantage of schema-form

Next steps:
- Remove the other modal templates so we can standardise. A single
  template opened from the $modal service is fine, and we shouldn't need
  several directives. In this case, we should deprecate them, as the
  modal forms will be used elsewhere.
- Map commonly used form items, like transfer tables, to a schema form
  type like array (they serve similar purposes, so maybe thats what
  should be replaced)
- Use themable selects instead of regular ones

1. http://schemaform.io/

Co-Authored-By: Tyr Johanson <tyr@hpe.com>
Implements: blueprint angular-schema-form
Change-Id: Ib22b2d0db2c4d4775fdef62a180cc994e8ae6280
2016-08-04 16:53:41 +00:00
..
api Stop memoizing on request argument in neutron api 2016-07-27 17:20:17 -05:00
conf Updating heat policy file 2016-06-14 11:01:45 -06:00
contrib [Django 1.10] Fix URL patterns again 2016-08-03 15:18:24 +00:00
dashboards Merge "Do not allow spaces as key pair name" 2016-08-04 04:27:22 +00:00
django_pyscss_fix Fix some spelling mistakes in horizon 2016-06-23 17:04:35 +08:00
enabled Developer Registry Resource Browser 2016-07-26 16:42:37 -06:00
local Embed support for external data sinks into api.glance 2016-07-26 13:38:58 +00:00
locale Imported Translations from Zanata 2016-08-03 11:40:06 +00:00
management Update WSGI app creation to be compatible with Django 1.7 or greater 2015-09-21 15:36:19 +02:00
static Add Angular Schema Form 2016-08-04 16:53:41 +00:00
templates Add Angular Schema Form 2016-08-04 16:53:41 +00:00
templatetags Merge "Fix project name refresh in project menu bar" 2016-08-03 04:43:57 +00:00
test Stop memoizing on request argument in neutron api 2016-07-27 17:20:17 -05:00
themes Add Angular Schema Form 2016-08-04 16:53:41 +00:00
usage Allow horizon to function without nova 2016-07-26 09:15:48 -05:00
utils admin permissions depends on OPENSTACK_KEYSTONE_ADMIN_ROLES 2016-06-10 07:23:09 +00:00
wsgi
.eslintrc Add selective ESLint rule activation for Horizon Legacy JS 2015-07-08 17:06:15 -07:00
__init__.py
context_processors.py Support javascript translation for plugin 2016-01-11 13:46:05 -08:00
exceptions.py Excise Trove from Horizon 2015-12-22 02:01:07 -07:00
hooks.py
karma.conf.js Add Angular Schema Form 2016-08-04 16:53:41 +00:00
policy.py Retrieve domain scoped token 2016-03-08 15:17:38 -08:00
settings.py Embed support for external data sinks into api.glance 2016-07-26 13:38:58 +00:00
static_settings.py Add Angular Schema Form 2016-08-04 16:53:41 +00:00
theme_settings.py Dynamic Themes 2016-02-25 09:49:43 -08:00
urls.py Update URLs to Django 1.8+ style 2016-03-28 11:03:08 +01:00
views.py Retrieve domain scoped token 2016-03-08 15:17:38 -08:00