horizon/horizon/static/framework/util
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
..
actions Migrate swift ui to use hz-dynamic-table 2016-06-10 16:58:20 +10:00
bind-scope Update eslint-plugin-angular to the latest 2016-01-11 10:42:06 -08:00
extensible Reduce lint warnings 2016-02-25 10:28:42 +01:00
file Add unit tests for load-edit directive 2016-02-04 15:17:37 -08:00
filters Merge "Allow wiring of <hz-dynamic-table> into <transfer-table>" 2016-07-27 14:13:23 +00:00
http Use ng-file-upload to simplify JS API calls that upload files 2016-06-21 11:20:55 +03:00
i18n bump eslint version to 1.10.3 2016-03-31 14:06:45 +00:00
promise-toggle bump eslint version to 1.10.3 2016-03-31 14:06:45 +00:00
q Maintain order when resolving promise list 2016-02-17 15:19:29 -06:00
tech-debt Use correct casing on jQuery. 2016-05-12 09:25:03 -07:00
uuid Add Angular Schema Form 2016-08-04 16:53:41 +00:00
validators No more no-extra-parens eslint errors 2016-07-22 15:49:00 -06:00
workflow Support angular workflow extension as a feature plugin 2015-11-13 21:18:05 +00:00
util.module.js Add Angular Schema Form 2016-08-04 16:53:41 +00:00