horizon/horizon
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
..
browsers Fix Flake8 style warnings in horizon/ 2014-07-29 20:38:49 +00:00
conf Move out integration tests scaffolds from Horizon production code 2016-05-31 10:01:21 +00:00
contrib Panel static finder 2016-06-01 02:14:17 +00:00
forms Merge "[Django 1.10] Fix get_form uses kwargs" 2016-08-02 16:00:00 +00:00
hacking Eliminate mutable default arguments 2015-12-17 09:58:46 +00:00
locale Imported Translations from Zanata 2016-08-01 08:03:10 +00:00
management [Django 1.9] Stop using django.utils.importlib 2016-01-26 11:19:23 +00:00
middleware Fix typo 'occured' -> 'occurred' 2016-06-28 18:37:10 +02:00
static Add Angular Schema Form 2016-08-04 16:53:41 +00:00
tables Merge "Move get_filters to parent Class" 2016-08-03 03:10:00 +00:00
tabs Modify exception message style according to i18n guidelines 2016-06-13 15:36:47 +08:00
templates Merge "Branding: Detail Actions need Context" 2016-07-30 04:31:22 +00:00
templatetags Pre-populate the Angular template cache and allow template overrides 2016-07-13 15:38:07 -07:00
test Revert "i18n: trim whitespaces in extracted messages" 2016-08-03 17:11:40 +00:00
utils Revert "i18n: trim whitespaces in extracted messages" 2016-08-03 17:11:40 +00:00
workflows Modals should inherit from the theme 2016-06-21 15:54:00 -07:00
__init__.py Remove extraneous vim configuration comments 2014-05-06 15:30:10 +08:00
base.py Update URLs to Django 1.8+ style 2016-03-28 11:03:08 +01:00
context_processors.py Remove extraneous vim configuration comments 2014-05-06 15:30:10 +08:00
decorators.py Remove extraneous vim configuration comments 2014-05-06 15:30:10 +08:00
exceptions.py Removes some redundant words 2016-03-25 11:29:48 +07:00
karma.conf.js Add Angular Schema Form 2016-08-04 16:53:41 +00:00
loaders.py Remove all pre-Django 1.8 workarounds 2016-01-24 22:12:02 +00:00
messages.py Uniquify horizon messages returned in a single response 2014-09-17 13:45:07 +00:00
notifications.py Add message of the day option 2016-01-22 11:31:36 -08:00
site_urls.py Update URLs to Django 1.8+ style 2016-03-28 11:03:08 +01:00
themes.py Fix missing 'THEME' key 2016-08-03 20:06:36 +00:00
version.py Remove extraneous vim configuration comments 2014-05-06 15:30:10 +08:00
views.py Document and improve PageTitleMixin readability 2015-02-11 16:16:20 +00:00