mirror of
https://github.com/nasa/openmct.git
synced 2025-05-07 02:58:30 +00:00
[Templates] Allow only template property for containers
...to work around difficulties with transclusion using templateLinker.
This commit is contained in:
parent
e61711688e
commit
8581547a9c
@ -910,7 +910,24 @@ A capability's implementation may also expose a static method `appliesTo(model)`
|
|||||||
which should return a boolean value, and will be used by the platform to filter
|
which should return a boolean value, and will be used by the platform to filter
|
||||||
down capabilities to those which should be exposed by specific domain objects,
|
down capabilities to those which should be exposed by specific domain objects,
|
||||||
based on their domain object models.
|
based on their domain object models.
|
||||||
|
|
||||||
|
## Containers Category
|
||||||
|
|
||||||
|
Containers provide options for the `mct-container` directive.
|
||||||
|
|
||||||
|
The definition for an extension in the `containers` category should include:
|
||||||
|
|
||||||
|
* `key`: An identifier for the container.
|
||||||
|
* `template`: An Angular template for the container, including an
|
||||||
|
`ng-transclude` where contained content should go.
|
||||||
|
* `attributes`: An array of attribute names. The values associated with
|
||||||
|
these attributes will be exposed in the template's scope under the
|
||||||
|
name provided by the `alias` property.
|
||||||
|
* `alias`: The property name in scope under which attributes will be
|
||||||
|
exposed. Optional; defaults to "container".
|
||||||
|
|
||||||
|
Note that `templateUrl` is not supported for `containers`.
|
||||||
|
|
||||||
## Controls Category
|
## Controls Category
|
||||||
|
|
||||||
Controls provide options for the `mct-control` directive.
|
Controls provide options for the `mct-control` directive.
|
||||||
|
@ -319,7 +319,6 @@ define([
|
|||||||
"key": "mctContainer",
|
"key": "mctContainer",
|
||||||
"implementation": MCTContainer,
|
"implementation": MCTContainer,
|
||||||
"depends": [
|
"depends": [
|
||||||
"templateLinker",
|
|
||||||
"containers[]"
|
"containers[]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -42,7 +42,7 @@ define(
|
|||||||
* @memberof platform/commonUI/general
|
* @memberof platform/commonUI/general
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
function MCTContainer(templateLinker, containers) {
|
function MCTContainer(containers) {
|
||||||
var containerMap = {};
|
var containerMap = {};
|
||||||
|
|
||||||
// Initialize container map from extensions
|
// Initialize container map from extensions
|
||||||
@ -67,11 +67,9 @@ define(
|
|||||||
var key = attrs.key,
|
var key = attrs.key,
|
||||||
container = containerMap[key],
|
container = containerMap[key],
|
||||||
alias = "container",
|
alias = "container",
|
||||||
copiedAttributes = {},
|
copiedAttributes = {};
|
||||||
changeTemplate = templateLinker.link(scope, element);
|
|
||||||
|
|
||||||
if (container) {
|
if (container) {
|
||||||
changeTemplate(container);
|
|
||||||
alias = container.alias || alias;
|
alias = container.alias || alias;
|
||||||
(container.attributes || []).forEach(function (attr) {
|
(container.attributes || []).forEach(function (attr) {
|
||||||
copiedAttributes[attr] = attrs[attr];
|
copiedAttributes[attr] = attrs[attr];
|
||||||
@ -79,6 +77,12 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
scope[alias] = copiedAttributes;
|
scope[alias] = copiedAttributes;
|
||||||
|
},
|
||||||
|
|
||||||
|
template: function (element, attrs) {
|
||||||
|
var key = attrs.key,
|
||||||
|
container = containerMap[key];
|
||||||
|
return container ? container.template : "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user