* [API] Allow selection
* [API] Keep in sync using model
* [API] Add selection as EventEmitter
* [API] Use selection from ToDo tutorial
* [API] Restore selection functionality
* [Objects] util for equality checking
Add a method for checking object equality, useful for other services.
* [Composition] Draft Composition API
Draft composition API. Composition collections provide an observable
for watching and mutating the composition of an object.
Composition providers implement the loading and modification of composition.
The default composition provider uses the composition attribute of
domain objects, while allowing other providers to implement their
own loading and mutation behavior.
* add todo about event listener bindings
* [Type] Add form property for defining form fields
* [tutorial] Add Composition tutorial
* provider doesn't have to implement events, load returns array of children
* use new composition in old api
* correct key name
* Override instantiate to provide model ids
Override instantiate in public API adapter to prevent making changes to
platform code. Instantiate now passes the id of the domain object with the
model so that capabilities can convert to a new-style domain object and use
that to detect functionality.
* Implement mutation capability with decorator
Implementation mutation capability override with decorator to adapter code
outside of platform. Capability override ensures that models are kept in
sync even though they are no longer shared objects.
* override composition cleanly
Override composition capability without making changes inside platform.
* cleanup after temporary collections
* remove unused try/catch
* [API] use new-style objects consistently
* rewrite todo tutorial in test-api.html
* [API] Add API doc, update object API
* [Tutorials] Rename tutorials, remove old
* Fix Links
* updates
* initial
* hope this works
* Object Utils always return new objects instead of mutating existing objects
* keep domain object model in-sync when listening
Keep the domain object model in sync with the latest version when
listening for mutation events.
* Remove old-style plugins
* Update views to use new API
* Tidy Code
* Update API Docs
* Add Plugin API and Example
* [API] Allow selection
* [API] Keep in sync using model
* [API] Add selection as EventEmitter
* [API] Use selection from ToDo tutorial
* [API] Add appliesTo-style method
* [API] Remove destroy method, simplify show
* [View] Return a no-op
* [API] Use new applies-to checking
* [API] Rename TodoView to TodoRenderer
* [API] Rewire views
* [API] Wire up so that things work
* [API] Begin adding container
...to attempt to give views something to listen to for destroy-like
events
* [API] Begin using regions...
* [API] Begin working through Region stuff
* [API] Revise Region API
...for similarity with Marionette,
https://github.com/nasa/openmct/pull/1072#issuecomment-230902986
* [API] Begin separating View, ViewDefinition
* [API] Finish separating View/ViewDefinition
* [API] Update MCTView
...to reflect updates to Region/View/ViewDefinition APIs
* [API] Simplify View API
...merging closely-related populate/show methods, and restoring
compatibility with todo tutorial
* [API] Wire in from todo tutorial plugin
* [API] Switch back to region constants
* [API] Update method signature, add JSDoc
* [API] Update variable name
* [API] Remove unnecessary separate regions file
* [API] Relocate Region; not external api
* [API] Revert changes to api.js
...as these ended up becoming entirely superficial
* [API] Allow selection
* [API] Keep in sync using model
* [API] Add selection as EventEmitter
* [API] Use selection from ToDo tutorial
* Object events prototype
* Added examples
* Transitional API
* Modified todo list code to work with new setters
* [API] Removed emitting of events on container when property changes value to remove ambiguity. Listeners must be listening to the same path used in the setter to catch changes
* [Bundle] load filter with requirejs
* [Build] Use almond, wrap in UMD
Use almond for built version of application and wrap in UMD so that
it supports requirejs, commonjs, and basic browser loading.
* [Main] Can choose where to load app
MCT.run allows you to specify a dom element to load application
within. If element is not specified, will use body.
* [MCT] set class on injected div
Set class on injected div so extra markup is not required.
* [Build] Re-enable optimize
* Add minimal bootstrap example