mirror of
https://github.com/nasa/openmct.git
synced 2025-06-13 04:38:15 +00:00
[Framework] Implement runs category-of-extension
Implement 'runs' as a built-in category of extension, to support bundle addition of functions to run when the application first starts. Specifically supports loading of stylesheets, WTD-591.
This commit is contained in:
@ -72,6 +72,21 @@ define(
|
||||
|
||||
}
|
||||
|
||||
// Custom registration function for extensions of category "runs"
|
||||
function registerRun(extension) {
|
||||
if (typeof extension === 'function') {
|
||||
// Prepend dependencies, and schedule to run
|
||||
app.run((extension.depends || []).concat([extension]));
|
||||
} else {
|
||||
// If it's not a function, no implementation was given
|
||||
$log.warn([
|
||||
"Cannot register run extension from ",
|
||||
(extension.bundle || {}).path,
|
||||
"; no implementation."
|
||||
].join(""));
|
||||
}
|
||||
}
|
||||
|
||||
// Custom registration function for extensions of category "route"
|
||||
function registerRoute(extension) {
|
||||
var route = Object.create(extension);
|
||||
@ -107,7 +122,7 @@ define(
|
||||
// Utility; create a function which converts another function
|
||||
// (which acts on single objects) to one which acts upon arrays.
|
||||
function mapUpon(func) {
|
||||
return function(array) {
|
||||
return function (array) {
|
||||
return array.map(func);
|
||||
};
|
||||
}
|
||||
@ -121,6 +136,7 @@ define(
|
||||
directives: mapUpon(new CustomRegistrar("directive")),
|
||||
controllers: mapUpon(new CustomRegistrar("controller")),
|
||||
services: mapUpon(new CustomRegistrar("service")),
|
||||
runs: mapUpon(registerRun),
|
||||
components: registerComponents
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user