11968c840c
This patch provides the ability for the registered detail views for any resource type to be generically presented. This patch does the following: * Adds a directive that displays a set of views (i.e. details sub-views) * Adds a Generic Detail display for routed pages * Adds the concept of a Descriptor which contains a resource type name and an identifier. The identifier can be something as simple as a string, but may also be an object (if the resource type needs more than one value to look up its data, e.g. Pool Members) * Adds the ability for a resource type to have knowledge about how one of its items may be loaded, so any detail page can fetch the information given a basic context * Adds a generic Angular page (since they all just route to ng-views). We will see this used in subsequent patches as well. * Sets up a Django route to a non-navigational panel for the Details Change-Id: Ie116b52ba196f9240fdc6bbc4a12d37beb9b9fcf Partially-Implements: blueprint angular-registry
27 lines
1.1 KiB
YAML
27 lines
1.1 KiB
YAML
---
|
|
prelude: >
|
|
A Details page for a resource type (e.g. Images)
|
|
may now use the Angular application-level registry
|
|
to register views so developers may easily create
|
|
or extend details views. In this implementation
|
|
these views are presented as tabs within the
|
|
Details page.
|
|
features:
|
|
- A directive (hz-details) provides the ability to
|
|
intelligently display a set of views (typically for
|
|
a Details context).
|
|
- A generic Details display parses the location to
|
|
determine the resource type, and displays relevant
|
|
details views for that type.
|
|
- A Descriptor concept allows convenient passing of
|
|
information that can globally identify an object,
|
|
for use in generic views and actions.
|
|
- Horizon now has a (non-navigational) route in Django
|
|
so generic details pages are deep-linked.
|
|
- A shared Django template is now available for use by
|
|
any Angular page.
|
|
upgrade:
|
|
- (optional) Use the common Angular template as the
|
|
basis of any Angular pages to minimize boilerplate code
|
|
and to ensure that we use similar features/framing.
|