Commit Graph

43 Commits

Author SHA1 Message Date
Victor Woeltjen
bfdbc71e40 [API] Define a properties region 2016-07-28 15:34:03 -07:00
Pete Richards
d5aa998b4c [API] Draft Composition API (#1068)
* [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
2016-07-22 13:53:03 -07:00
Pete Richards
7890fcae69 tutorial consistency . (#1079)
* [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
2016-07-21 14:39:02 -07:00
Victor Woeltjen
18843cee48 [API] Change approach to applies-to checking (#1072)
* [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
2016-07-20 13:46:03 -07:00
Andrew Henry
1879c122c7 Mutation API (#1074)
* [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
2016-07-07 14:30:45 -07:00
Pete Richards
d7ddb96c4e [API] UMD Packaging (#1078)
* [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
2016-07-07 14:25:23 -07:00
Henry
5b656faa9d Added tests 2016-07-01 10:22:44 -07:00
Pete Richards
8d2c489fa9 [TimeConductor] Set bounds on timeSystem Change
Always set bounds on timeSystem change as not having valid bounds would
put views in inconsistent states.
2016-07-01 10:22:44 -07:00
Henry
4366b0870d [Time Conductor] API redesign. Initial commit of V2 public API. Addresses #933 2016-07-01 10:22:44 -07:00
Victor Woeltjen
c9c41cdcc8 Merge remote-tracking branch 'origin/api-tutorials' into api-toolbar-add-only
Conflicts:
	src/MCT.js
2016-07-01 10:10:33 -07:00
Victor Woeltjen
b2e7db71cc Merge remote-tracking branch 'origin/api-tutorials' into api-view
Conflicts:
	src/MCT.js
	src/api/api.js
2016-07-01 10:08:05 -07:00
Pete Richards
d475d767d5 add grootprovider 2016-06-17 17:05:05 -07:00
Pete Richards
a63e053399 [ObjectAPI] Draft new Object API
Rought prototype of new object API.
2016-06-17 16:59:35 -07:00
Victor Woeltjen
370b515c23 [API] Synchronize view to model 2016-06-17 14:21:37 -07:00
Victor Woeltjen
dbe6a4efc1 [API] Title dialog 2016-06-17 14:05:00 -07:00
Victor Woeltjen
13920d8802 [API] Resolve/reject from dialog 2016-06-17 14:00:45 -07:00
Victor Woeltjen
b6a8c514aa [API] Show dialog from toolbar 2016-06-17 13:51:15 -07:00
Victor Woeltjen
be0029e59a [API] Get todo toolbar to look right 2016-06-17 13:38:54 -07:00
Victor Woeltjen
9cb273ef0a [API] Get registered toolbar to appear 2016-06-17 13:30:08 -07:00
Victor Woeltjen
eec9b1cf4c [API] Support distinct region registration 2016-06-17 13:10:24 -07:00
Victor Woeltjen
1f96e84542 [API] Override template to allow toolbar injection 2016-06-17 12:16:46 -07:00
Victor Woeltjen
96316de6e4 [API] Update view API 2016-06-17 11:16:08 -07:00
Victor Woeltjen
2240a87ddc [API] Move view off of type 2016-06-17 10:53:56 -07:00
Victor Woeltjen
d891affe48 [API] Move view off of type 2016-06-17 10:21:00 -07:00
Victor Woeltjen
4ca2f51d5e [API] Use subclass style 2016-05-27 17:08:25 -07:00
Victor Woeltjen
86ac80ddbd [API] Persist mutations 2016-05-27 16:56:08 -07:00
Victor Woeltjen
0525ba6b0b [API] Check/uncheck todos 2016-05-27 16:55:10 -07:00
Victor Woeltjen
03cb0ccb57 [API] Get View to render 2016-05-27 16:36:55 -07:00
Victor Woeltjen
7205faa6bb [API] Add adapter bundle 2016-05-27 16:27:47 -07:00
Victor Woeltjen
136f2ae785 [API] Add MCTView directive as an adapter 2016-05-27 16:19:20 -07:00
Victor Woeltjen
a07e2fb8e5 [API] Implement View 2016-05-27 16:08:43 -07:00
Victor Woeltjen
7ece5897e8 [API] Begin adding View 2016-05-27 15:31:54 -07:00
Victor Woeltjen
c4fec1af6a [API] Move type toward a newer API 2016-05-27 13:31:30 -07:00
Victor Woeltjen
0c660238f2 [API] Add MCT class 2016-05-27 11:49:43 -07:00
Victor Woeltjen
fa77139077 [Code Style] Run gulp fixstyle
...to apply code style settings from #142.
2016-05-19 11:29:13 -07:00
Victor Woeltjen
ac5ac8d34e [Build] Remove boilerplate from scripts
No longer necessary after JSHint configuration.
2016-03-04 10:46:38 -08:00
Victor Woeltjen
a10db656ce [Build] Allow bundles to be removed
Allow bundles to be removed by:

* Waiting for explicit activation before bootstrapping,
  providing a time period when bundles could be removed.
* Adding a remove method to BundleRegistry
2016-02-02 15:18:50 -08:00
Victor Woeltjen
77e39f2882 [API Refactor] Test legacy bundle registry 2016-01-08 13:38:28 -08:00
Victor Woeltjen
612dd7db2c [API] Expose browse through legacy registry 2016-01-06 17:54:56 -08:00
Victor Woeltjen
b87dd5def6 [API] Fix paths for legacyRegistry 2016-01-06 17:50:05 -08:00
Victor Woeltjen
a39e8e44f0 [API] Load bundles from imperative registry 2016-01-06 11:22:44 -08:00
Victor Woeltjen
76aa9e1fd2 [API] Add legacy bundle registry 2016-01-06 11:05:41 -08:00
Victor Woeltjen
9f66f39d8d [API] Add a top-level main.js
...which can depend upon the bundle registry, as well
as a set of installed bundles.

https://github.com/nasa/openmctweb/issues/450
2016-01-06 10:59:21 -08:00