[Composition] Composition api improvements (#1332). Fixes #1322 and Fixes #1253

* [Composition] provide ids, sync via mutation

Composition provides ids, and we sync things via mutation.  This
simplifies the composition provider interface some, and also
fixes some issues with the previous default composition provider
related to #1322
fixes #1253

* [Style] Fix style, update jsdoc

Fix style, update jsdoc, clean up composition api changes for

Fixes #1322

* [Style] Tidy and JSDoc

* [Composition] Utilize new composition API

Ensures that composition provided by new API works in old API.

Some functionality is not present in both places, but for the
time being this is sufficient.

https://github.com/nasa/openmct/pull/1332

* [Utils] add tests, fix bugs

Add tests to objectUtils to ensure correctness.  This caught a bug
where character escapes were not properly applied or removed.  As
a result, any missing object that contained a colon in it's key
would cause an infinite loop and cause the application to crash.

Bug discovered in VISTA integration.

* [Style] Fix style

* [Roots] Depend on new api for ROOT

Depend on new API for ROOT model, ensuring consistency when
fetching ROOT model.

* [Style] Remove commented code
This commit is contained in:
Pete Richards
2016-11-30 12:00:01 -08:00
committed by Andrew Henry
parent 79b4f9a0f4
commit 73b3ae7264
13 changed files with 515 additions and 393 deletions

View File

@ -61,9 +61,11 @@ define([
services: [
{
key: "openmct",
implementation: function () {
implementation: function ($injector) {
this.$injector = $injector;
return this;
}.bind(this)
}.bind(this),
depends: ['$injector']
}
]
} };
@ -96,7 +98,7 @@ define([
* @memberof module:openmct.MCT#
* @name composition
*/
this.composition = new api.CompositionAPI();
this.composition = new api.CompositionAPI(this);
/**
* Registry for views of domain objects which should appear in the