Merge pull request #710 from nasa/open673
[Templates] Load templates using RequireJS text plugin
This commit is contained in:
@@ -49,6 +49,25 @@ define([
|
||||
"./src/directives/MCTScroll",
|
||||
"./src/directives/MCTSplitPane",
|
||||
"./src/directives/MCTSplitter",
|
||||
"text!./res/templates/bottombar.html",
|
||||
"text!./res/templates/controls/action-button.html",
|
||||
"text!./res/templates/controls/input-filter.html",
|
||||
"text!./res/templates/indicator.html",
|
||||
"text!./res/templates/message-banner.html",
|
||||
"text!./res/templates/progress-bar.html",
|
||||
"text!./res/templates/controls/time-controller.html",
|
||||
"text!./res/templates/containers/accordion.html",
|
||||
"text!./res/templates/subtree.html",
|
||||
"text!./res/templates/tree.html",
|
||||
"text!./res/templates/tree-node.html",
|
||||
"text!./res/templates/label.html",
|
||||
"text!./res/templates/controls/action-group.html",
|
||||
"text!./res/templates/menu/context-menu.html",
|
||||
"text!./res/templates/controls/switcher.html",
|
||||
"text!./res/templates/object-inspector.html",
|
||||
"text!./res/templates/controls/selector.html",
|
||||
"text!./res/templates/controls/datetime-picker.html",
|
||||
"text!./res/templates/controls/datetime-field.html",
|
||||
'legacyRegistry'
|
||||
], function (
|
||||
UrlService,
|
||||
@@ -78,6 +97,25 @@ define([
|
||||
MCTScroll,
|
||||
MCTSplitPane,
|
||||
MCTSplitter,
|
||||
bottombarTemplate,
|
||||
actionButtonTemplate,
|
||||
inputFilterTemplate,
|
||||
indicatorTemplate,
|
||||
messageBannerTemplate,
|
||||
progressBarTemplate,
|
||||
timeControllerTemplate,
|
||||
accordionTemplate,
|
||||
subtreeTemplate,
|
||||
treeTemplate,
|
||||
treeNodeTemplate,
|
||||
labelTemplate,
|
||||
actionGroupTemplate,
|
||||
contextMenuTemplate,
|
||||
switcherTemplate,
|
||||
objectInspectorTemplate,
|
||||
selectorTemplate,
|
||||
datetimePickerTemplate,
|
||||
datetimeFieldTemplate,
|
||||
legacyRegistry
|
||||
) {
|
||||
"use strict";
|
||||
@@ -146,31 +184,31 @@ define([
|
||||
"templates": [
|
||||
{
|
||||
"key": "bottombar",
|
||||
"templateUrl": "templates/bottombar.html"
|
||||
"template": bottombarTemplate
|
||||
},
|
||||
{
|
||||
"key": "action-button",
|
||||
"templateUrl": "templates/controls/action-button.html"
|
||||
"template": actionButtonTemplate
|
||||
},
|
||||
{
|
||||
"key": "input-filter",
|
||||
"templateUrl": "templates/controls/input-filter.html"
|
||||
"template": inputFilterTemplate
|
||||
},
|
||||
{
|
||||
"key": "indicator",
|
||||
"templateUrl": "templates/indicator.html"
|
||||
"template": indicatorTemplate
|
||||
},
|
||||
{
|
||||
"key": "message-banner",
|
||||
"templateUrl": "templates/message-banner.html"
|
||||
"template": messageBannerTemplate
|
||||
},
|
||||
{
|
||||
"key": "progress-bar",
|
||||
"templateUrl": "templates/progress-bar.html"
|
||||
"template": progressBarTemplate
|
||||
},
|
||||
{
|
||||
"key": "time-controller",
|
||||
"templateUrl": "templates/controls/time-controller.html"
|
||||
"template": timeControllerTemplate
|
||||
}
|
||||
],
|
||||
"controllers": [
|
||||
@@ -379,7 +417,7 @@ define([
|
||||
"containers": [
|
||||
{
|
||||
"key": "accordion",
|
||||
"templateUrl": "templates/containers/accordion.html",
|
||||
"template": accordionTemplate,
|
||||
"attributes": [
|
||||
"label"
|
||||
]
|
||||
@@ -388,7 +426,7 @@ define([
|
||||
"representations": [
|
||||
{
|
||||
"key": "tree",
|
||||
"templateUrl": "templates/subtree.html",
|
||||
"template": subtreeTemplate,
|
||||
"uses": [
|
||||
"composition"
|
||||
],
|
||||
@@ -397,25 +435,25 @@ define([
|
||||
},
|
||||
{
|
||||
"key": "tree",
|
||||
"templateUrl": "templates/tree.html"
|
||||
"template": treeTemplate
|
||||
},
|
||||
{
|
||||
"key": "subtree",
|
||||
"templateUrl": "templates/subtree.html",
|
||||
"template": subtreeTemplate,
|
||||
"uses": [
|
||||
"composition"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "tree-node",
|
||||
"templateUrl": "templates/tree-node.html",
|
||||
"template": treeNodeTemplate,
|
||||
"uses": [
|
||||
"action"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "label",
|
||||
"templateUrl": "templates/label.html",
|
||||
"template": labelTemplate,
|
||||
"uses": [
|
||||
"type",
|
||||
"location"
|
||||
@@ -428,7 +466,7 @@ define([
|
||||
},
|
||||
{
|
||||
"key": "node",
|
||||
"templateUrl": "templates/label.html",
|
||||
"template": labelTemplate,
|
||||
"uses": [
|
||||
"type"
|
||||
],
|
||||
@@ -439,42 +477,42 @@ define([
|
||||
},
|
||||
{
|
||||
"key": "action-group",
|
||||
"templateUrl": "templates/controls/action-group.html",
|
||||
"template": actionGroupTemplate,
|
||||
"uses": [
|
||||
"action"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "context-menu",
|
||||
"templateUrl": "templates/menu/context-menu.html",
|
||||
"template": contextMenuTemplate,
|
||||
"uses": [
|
||||
"action"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "switcher",
|
||||
"templateUrl": "templates/controls/switcher.html",
|
||||
"template": switcherTemplate,
|
||||
"uses": [
|
||||
"view"
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "object-inspector",
|
||||
"templateUrl": "templates/object-inspector.html"
|
||||
"template": objectInspectorTemplate
|
||||
}
|
||||
],
|
||||
"controls": [
|
||||
{
|
||||
"key": "selector",
|
||||
"templateUrl": "templates/controls/selector.html"
|
||||
"template": selectorTemplate
|
||||
},
|
||||
{
|
||||
"key": "datetime-picker",
|
||||
"templateUrl": "templates/controls/datetime-picker.html"
|
||||
"template": datetimePickerTemplate
|
||||
},
|
||||
{
|
||||
"key": "datetime-field",
|
||||
"templateUrl": "templates/controls/datetime-field.html"
|
||||
"template": datetimeFieldTemplate
|
||||
}
|
||||
],
|
||||
"licenses": [
|
||||
|
||||
@@ -47,13 +47,7 @@ define(
|
||||
|
||||
// Initialize container map from extensions
|
||||
containers.forEach(function (container) {
|
||||
var key = container.key;
|
||||
containerMap[key] = Object.create(container);
|
||||
containerMap[key].templateUrl = [
|
||||
container.bundle.path,
|
||||
container.bundle.resources,
|
||||
container.templateUrl
|
||||
].join("/");
|
||||
containerMap[container.key] = container;
|
||||
});
|
||||
|
||||
return {
|
||||
@@ -85,13 +79,11 @@ define(
|
||||
scope[alias] = copiedAttributes;
|
||||
},
|
||||
|
||||
// Get the template URL for this container, based
|
||||
// on its attributes.
|
||||
templateUrl: function (element, attrs) {
|
||||
var key = attrs.key;
|
||||
return containerMap[key].templateUrl;
|
||||
template: function (element, attrs) {
|
||||
var key = attrs.key,
|
||||
container = containerMap[key];
|
||||
return container ? container.template : "";
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@ define(
|
||||
var testContainers = [
|
||||
{
|
||||
bundle: { path: "a", resources: "b" },
|
||||
templateUrl: "c/template.html",
|
||||
template: "<div>foo</div>",
|
||||
key: "abc"
|
||||
},
|
||||
{
|
||||
bundle: { path: "x", resources: "y" },
|
||||
templateUrl: "z/template.html",
|
||||
template: "<span>bar</span>",
|
||||
key: "xyz",
|
||||
attributes: [ "someAttr", "someOtherAttr" ]
|
||||
}
|
||||
@@ -55,15 +55,15 @@ define(
|
||||
});
|
||||
|
||||
it("chooses a template based on key", function () {
|
||||
expect(mctContainer.templateUrl(
|
||||
expect(mctContainer.template(
|
||||
undefined,
|
||||
{ key: "abc" }
|
||||
)).toEqual("a/b/c/template.html");
|
||||
)).toEqual(testContainers[0].template);
|
||||
|
||||
expect(mctContainer.templateUrl(
|
||||
expect(mctContainer.template(
|
||||
undefined,
|
||||
{ key: "xyz" }
|
||||
)).toEqual("x/y/z/template.html");
|
||||
)).toEqual(testContainers[1].template);
|
||||
});
|
||||
|
||||
it("copies attributes needed by the container", function () {
|
||||
|
||||
Reference in New Issue
Block a user