[Framework] Bring in changes from sandbox

Bring in changes from 'sandbox' branch. These include:

* Reconfiguring require's baseUrl such that relative
  paths work as expected in define call dependencies.
  Previously this only worked as expected in the
  framework bundle, since data-main points there.
* Add support for a 'constants' category of extension,
  to define application constants from bundles. This
  allows services to treat static values (such as
  persistence URIs) as injectable dependencies.
* Various assurances that properties from extension
  definitions will be exposed upon resolved
  implementations, even after partial construction.

WTD-572.
This commit is contained in:
Victor Woeltjen
2014-11-20 10:37:27 -08:00
parent 3682eb73cb
commit 08ff75c9c0
5 changed files with 53 additions and 5 deletions

View File

@ -31,12 +31,21 @@ define(
} :
Object.create(impl);
Object.keys(definition).forEach(function (k) {
result[k] = definition[k];
// Copy over static properties
Object.keys(impl).forEach(function (k) {
result[k] = impl[k];
});
// Copy over definition
Object.keys(definition).forEach(function (k) {
if (result[k] === undefined) {
result[k] = definition[k];
}
});
result.definition = definition;
// Log that this load was successful
$log.info("Loaded " + extension.getLogName());
$log.info("Resolved " + extension.getLogName());
return result;
}