From bcd5f1ee248b9d2ea5b49af84dad2d2e8667f3ea Mon Sep 17 00:00:00 2001 From: pacozaa Date: Mon, 9 May 2016 03:05:21 +0700 Subject: [PATCH 01/47] add shortcut for see the app quickly --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index dc18671dd30..c21888dbc86 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,10 @@ installed and then run the following commands: Documentation will be generated in `target/docs`. +### Run the app + +Please see [tutorial](https://github.com/nasa/openmct/blob/master/docs/src/tutorials/index.md) + # Glossary Certain terms are used throughout Open MCT with consistent meanings From c0311be1921c39578757977020077410317fa8b4 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 20 Jun 2016 15:49:04 -0700 Subject: [PATCH 02/47] [Browse] Inspector shown when object switched to edit mode. Fixes #1031 --- platform/commonUI/browse/bundle.js | 13 +++ .../commonUI/browse/res/templates/browse.html | 2 +- .../browse/src/InspectorPaneController.js | 79 +++++++++++++++ .../test/InspectorPaneControllerSpec.js | 96 +++++++++++++++++++ 4 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 platform/commonUI/browse/src/InspectorPaneController.js create mode 100644 platform/commonUI/browse/test/InspectorPaneControllerSpec.js diff --git a/platform/commonUI/browse/bundle.js b/platform/commonUI/browse/bundle.js index 9fb7015456a..8f62473b544 100644 --- a/platform/commonUI/browse/bundle.js +++ b/platform/commonUI/browse/bundle.js @@ -23,6 +23,7 @@ define([ "./src/BrowseController", "./src/PaneController", + "./src/InspectorPaneController", "./src/BrowseObjectController", "./src/MenuArrowController", "./src/navigation/NavigationService", @@ -44,6 +45,7 @@ define([ ], function ( BrowseController, PaneController, + InspectorPaneController, BrowseObjectController, MenuArrowController, NavigationService, @@ -124,6 +126,17 @@ define([ "depends": [ "$scope" ] + }, + { + "key": "InspectorPaneController", + "implementation": InspectorPaneController, + "priority": "preferred", + "depends": [ + "$scope", + "agentService", + "$window", + "navigationService" + ] } ], "representations": [ diff --git a/platform/commonUI/browse/res/templates/browse.html b/platform/commonUI/browse/res/templates/browse.html index 75fcaaeb0a1..b5e9561b157 100644 --- a/platform/commonUI/browse/res/templates/browse.html +++ b/platform/commonUI/browse/res/templates/browse.html @@ -57,7 +57,7 @@ ng-class="{ collapsed : !modelPaneTree.visible() }">
diff --git a/platform/commonUI/browse/src/InspectorPaneController.js b/platform/commonUI/browse/src/InspectorPaneController.js new file mode 100644 index 00000000000..ef8e3883f7d --- /dev/null +++ b/platform/commonUI/browse/src/InspectorPaneController.js @@ -0,0 +1,79 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + + +define( + ["./PaneController"], + function (PaneController) { + + /** + * Pane controller that reveals inspector, if hidden, when object + * switches to edit mode. + * + * @param $scope + * @param agentService + * @param $window + * @param navigationService + * @constructor + */ + function InspectorPaneController($scope, agentService, $window, navigationService) { + PaneController.call(this, $scope, agentService, $window); + + var statusListener, + self = this; + + function showInspector(statuses) { + if (statuses.indexOf('editing') !== -1 && !self.visible()) { + self.toggle(); + } + } + + function attachStatusListener(domainObject) { + // Remove existing status listener if existing + if (statusListener) { + statusListener(); + } + + if (domainObject.hasCapability("status")) { + statusListener = domainObject.getCapability("status").listen(showInspector); + } + return statusListener; + } + + var domainObject = navigationService.getNavigation(); + if (domainObject) { + attachStatusListener(domainObject); + } + + var navigationListener = navigationService.addListener(attachStatusListener); + + $scope.$on("$destroy", function () { + statusListener(); + navigationListener(); + }); + } + + InspectorPaneController.prototype = Object.create(PaneController.prototype); + + return InspectorPaneController; + } +); diff --git a/platform/commonUI/browse/test/InspectorPaneControllerSpec.js b/platform/commonUI/browse/test/InspectorPaneControllerSpec.js new file mode 100644 index 00000000000..635396902bb --- /dev/null +++ b/platform/commonUI/browse/test/InspectorPaneControllerSpec.js @@ -0,0 +1,96 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + +define( + ["../src/InspectorPaneController"], + function (InspectorPaneController) { + + describe("The InspectorPaneController", function () { + var mockScope, + mockAgentService, + mockDomainObject, + mockWindow, + mockStatusCapability, + mockNavigationService, + mockNavigationUnlistener, + mockStatusUnlistener, + controller; + + beforeEach(function () { + mockScope = jasmine.createSpyObj("$scope", ["$on"]); + mockWindow = jasmine.createSpyObj("$window", ["open"]); + mockAgentService = jasmine.createSpyObj( + "agentService", + ["isMobile", "isPhone", "isTablet", "isPortrait", "isLandscape"] + ); + + mockNavigationUnlistener = jasmine.createSpy("navigationUnlistener"); + mockNavigationService = jasmine.createSpyObj( + "navigationService", + ["getNavigation", "addListener"] + ); + mockNavigationService.addListener.andReturn(mockNavigationUnlistener); + + mockStatusUnlistener = jasmine.createSpy("statusUnlistener"); + mockStatusCapability = jasmine.createSpyObj( + "statusCapability", + ["listen"] + ); + mockStatusCapability.listen.andReturn(mockStatusUnlistener); + + mockDomainObject = jasmine.createSpyObj( + 'domainObject', + [ + 'getId', + 'getModel', + 'getCapability', + 'hasCapability' + ] + ); + mockDomainObject.getId.andReturn("domainObject"); + mockDomainObject.getModel.andReturn({}); + mockDomainObject.hasCapability.andReturn(true); + mockDomainObject.getCapability.andReturn(mockStatusCapability); + + controller = new InspectorPaneController(mockScope, mockAgentService, mockWindow, mockNavigationService); + }); + + it("listens for changes to navigation and attaches a status" + + " listener", function () { + expect(mockNavigationService.addListener).toHaveBeenCalledWith(jasmine.any(Function)); + mockNavigationService.addListener.mostRecentCall.args[0](mockDomainObject); + expect(mockStatusCapability.listen).toHaveBeenCalledWith(jasmine.any(Function)); + }); + + it("if hidden, shows the inspector when domain object switches to" + + " edit mode", function () { + controller.toggle(); + // test pre-condition that inspector is hidden + expect(controller.visible()).toBe(false); + mockNavigationService.addListener.mostRecentCall.args[0](mockDomainObject); + mockStatusCapability.listen.mostRecentCall.args[0](["editing"]); + expect(controller.visible()).toBe(true); + }); + + }); + } +); From 9cb26b73b53cae55a11e039c5b59e9a5b4469b6d Mon Sep 17 00:00:00 2001 From: Sarin Date: Tue, 21 Jun 2016 17:02:40 +0700 Subject: [PATCH 03/47] modified document --- README.md | 90 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index c21888dbc86..b93b9529d14 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,59 @@ Open MCT is a web-based platform for mission operations user interface software. +## Build + +Open MCT is built using [`npm`](http://npmjs.com/) +and [`gulp`](http://gulpjs.com/). + +To build: + +`npm run prepublish` + +This will compile and minify JavaScript sources, as well as copy over assets. +The contents of the `dist` folder will contain a runnable Open MCT +instance (e.g. by starting an HTTP server in that directory), including: + +* A `main.js` file containing Open MCT source code. +* Various assets in the `example` and `platform` directories. +* An `index.html` that runs Open MCT in its default configuration. + +Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js). + +### Building Documentation + +Open MCT's documentation is generated by an +[npm](https://www.npmjs.com/)-based build. It has additional dependencies that +may not be available on every platform and thus is not covered in the standard +npm install. Ensure your system has [libcairo](http://cairographics.org/) +installed and then run the following commands: + +* `npm install` +* `npm install canvas nomnoml` +* `npm run docs` + +Documentation will be generated in `target/docs`. + +### Building Open MCT +Once downloaded, Open MCT can be built with the following command: + + npm install + +This will install various dependencies, build CSS from Sass files, run tests, +and lint the source code. + +It's not necessary to do this after every code change, unless you are making +changes to stylesheets, or you are running the minified version of the app +(under `dist`). + +### Running Open MCT + +Once built, Open MCT can be run using the command: + + npm start + +For more information on building and running Open MCT, please see our getting started guide - https://nasa.github.io/openmct/getting-started/ + ## Bundles A bundle is a group of software components (including source code, declared @@ -54,43 +107,6 @@ To run: * `npm install` * `npm run all` -## Build - -Open MCT is built using [`npm`](http://npmjs.com/) -and [`gulp`](http://gulpjs.com/). - -To build: - -`npm run prepublish` - -This will compile and minify JavaScript sources, as well as copy over assets. -The contents of the `dist` folder will contain a runnable Open MCT -instance (e.g. by starting an HTTP server in that directory), including: - -* A `main.js` file containing Open MCT source code. -* Various assets in the `example` and `platform` directories. -* An `index.html` that runs Open MCT in its default configuration. - -Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js). - -### Building Documentation - -Open MCT's documentation is generated by an -[npm](https://www.npmjs.com/)-based build. It has additional dependencies that -may not be available on every platform and thus is not covered in the standard -npm install. Ensure your system has [libcairo](http://cairographics.org/) -installed and then run the following commands: - -* `npm install` -* `npm install canvas nomnoml` -* `npm run docs` - -Documentation will be generated in `target/docs`. - -### Run the app - -Please see [tutorial](https://github.com/nasa/openmct/blob/master/docs/src/tutorials/index.md) - # Glossary Certain terms are used throughout Open MCT with consistent meanings From bfc6ed460425329b5848c4dbd7cf36850cb92e90 Mon Sep 17 00:00:00 2001 From: Sarin Date: Tue, 21 Jun 2016 17:09:09 +0700 Subject: [PATCH 04/47] modified README.md for better documentation --- README.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b93b9529d14..65e1bad53b3 100644 --- a/README.md +++ b/README.md @@ -22,21 +22,8 @@ instance (e.g. by starting an HTTP server in that directory), including: Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js). -### Building Documentation - -Open MCT's documentation is generated by an -[npm](https://www.npmjs.com/)-based build. It has additional dependencies that -may not be available on every platform and thus is not covered in the standard -npm install. Ensure your system has [libcairo](http://cairographics.org/) -installed and then run the following commands: - -* `npm install` -* `npm install canvas nomnoml` -* `npm run docs` - -Documentation will be generated in `target/docs`. - ### Building Open MCT + Once downloaded, Open MCT can be built with the following command: npm install @@ -56,6 +43,20 @@ Once built, Open MCT can be run using the command: For more information on building and running Open MCT, please see our getting started guide - https://nasa.github.io/openmct/getting-started/ +### Building Documentation + +Open MCT's documentation is generated by an +[npm](https://www.npmjs.com/)-based build. It has additional dependencies that +may not be available on every platform and thus is not covered in the standard +npm install. Ensure your system has [libcairo](http://cairographics.org/) +installed and then run the following commands: + +* `npm install` +* `npm install canvas nomnoml` +* `npm run docs` + +Documentation will be generated in `target/docs`. + ## Bundles A bundle is a group of software components (including source code, declared From 51079b0252deca43d0e40e54fe24e7819990deca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Pe=CC=81rez?= Date: Tue, 21 Jun 2016 19:43:09 +0200 Subject: [PATCH 05/47] [API] X-Powered-By" Express header disabled. Fixes #1036 To improve the security avoiding a possible fingerprinting attack Ref.: http://expressjs.com/en/advanced/best-practice-security.html#at-a-minimum-disable-x-powered-by-header --- app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app.js b/app.js index 8e7bb15ec22..4b7e28906b1 100644 --- a/app.js +++ b/app.js @@ -42,6 +42,8 @@ process.exit(0); } + app.disable('x-powered-by'); + // Override bundles.json for HTTP requests app.use('/' + BUNDLE_FILE, function (req, res) { var bundles; From e42b8d22f72a08a17f6fb45044439d2f5787df26 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 22 Jun 2016 15:32:37 -0700 Subject: [PATCH 06/47] [Edit] Undirty objects on refresh Remove domain objects from the active transaction when they are refreshed, and use this from the SaveAsAction to prevent saving unintended changes. Fixes #1046 --- .../commonUI/edit/src/actions/SaveAsAction.js | 22 ++++++++++++++++--- .../TransactionalPersistenceCapability.js | 10 ++++++++- .../edit/src/services/TransactionService.js | 9 ++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/platform/commonUI/edit/src/actions/SaveAsAction.js b/platform/commonUI/edit/src/actions/SaveAsAction.js index cee67ebbfeb..d13f723bb85 100644 --- a/platform/commonUI/edit/src/actions/SaveAsAction.js +++ b/platform/commonUI/edit/src/actions/SaveAsAction.js @@ -105,7 +105,8 @@ define( SaveAsAction.prototype.save = function () { var self = this, domainObject = this.domainObject, - copyService = this.copyService; + copyService = this.copyService, + toUndirty = []; function doWizardSave(parent) { var wizard = self.createWizard(parent); @@ -127,14 +128,28 @@ define( } function allowClone(objectToClone) { - return (objectToClone.getId() === domainObject.getId()) || - objectToClone.getCapability('location').isOriginal(); + var allowed = + (objectToClone.getId() === domainObject.getId()) || + objectToClone.getCapability('location').isOriginal(); + if (allowed) { + toUndirty.push(objectToClone); + } + return allowed; } function cloneIntoParent(parent) { return copyService.perform(domainObject, parent, allowClone); } + function undirty(domainObject) { + return domainObject.getCapability('persistence').refresh(); + } + + function undirtyOriginals(object) { + return Promise.all(toUndirty.map(undirty)) + .then(resolveWith(object)); + } + function commitEditingAfterClone(clonedObject) { return domainObject.getCapability("editor").save() .then(resolveWith(clonedObject)); @@ -144,6 +159,7 @@ define( .then(doWizardSave) .then(getParent) .then(cloneIntoParent) + .then(undirtyOriginals) .then(commitEditingAfterClone) .catch(resolveWith(false)); }; diff --git a/platform/commonUI/edit/src/capabilities/TransactionalPersistenceCapability.js b/platform/commonUI/edit/src/capabilities/TransactionalPersistenceCapability.js index 9bcf19c002a..7bb4486b4f1 100644 --- a/platform/commonUI/edit/src/capabilities/TransactionalPersistenceCapability.js +++ b/platform/commonUI/edit/src/capabilities/TransactionalPersistenceCapability.js @@ -49,6 +49,7 @@ define( this.domainObject = domainObject; this.$q = $q; this.persistPending = false; + this.removeFromTransaction = undefined; } /** @@ -75,6 +76,7 @@ define( }); } else { self.persistPending = false; + self.removeFromTransaction = undefined; //Model is undefined in persistence, so return undefined. return self.$q.when(undefined); } @@ -82,7 +84,8 @@ define( if (this.transactionService.isActive()) { if (!this.persistPending) { - this.transactionService.addToTransaction(onCommit, onCancel); + this.removeFromTransaction = this.transactionService + .addToTransaction(onCommit, onCancel); this.persistPending = true; } //Need to return a promise from this function @@ -93,6 +96,11 @@ define( }; TransactionalPersistenceCapability.prototype.refresh = function () { + if (this.persistPending) { + this.persistPending = false; + this.removeFromTransaction(); + this.removeFromTransaction = undefined; + } return this.persistenceCapability.refresh(); }; diff --git a/platform/commonUI/edit/src/services/TransactionService.js b/platform/commonUI/edit/src/services/TransactionService.js index 8d6c465959e..59f196cf4b1 100644 --- a/platform/commonUI/edit/src/services/TransactionService.js +++ b/platform/commonUI/edit/src/services/TransactionService.js @@ -81,6 +81,15 @@ define( //Log error because this is a programming error if it occurs. this.$log.error("No transaction in progress"); } + + return function () { + this.onCommits = this.onCommits.filter(function (callback) { + return callback !== onCommit; + }); + this.onCancels = this.onCancels.filter(function (callback) { + return callback !== onCancel; + }); + }.bind(this); }; /** From a3a0f003f09fe37409ade270cc23eb509d612410 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 22 Jun 2016 15:40:38 -0700 Subject: [PATCH 07/47] [Edit] Don't refresh unpersisted objects --- platform/core/src/capabilities/PersistenceCapability.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/core/src/capabilities/PersistenceCapability.js b/platform/core/src/capabilities/PersistenceCapability.js index aacf48f2e18..d985d394dc0 100644 --- a/platform/core/src/capabilities/PersistenceCapability.js +++ b/platform/core/src/capabilities/PersistenceCapability.js @@ -152,6 +152,10 @@ define( }, modified); } + if (domainObject.getModel().persisted === undefined) { + return this.$q.when(true); + } + return this.persistenceService.readObject( this.getSpace(), this.getKey() From 8244e435bf9d3b26a26acf6c148d94b2497a4477 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 22 Jun 2016 16:13:26 -0700 Subject: [PATCH 08/47] [Edit] Update failing spec --- platform/core/test/capabilities/PersistenceCapabilitySpec.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/core/test/capabilities/PersistenceCapabilitySpec.js b/platform/core/test/capabilities/PersistenceCapabilitySpec.js index be8c181cbdb..2456e0ba19a 100644 --- a/platform/core/test/capabilities/PersistenceCapabilitySpec.js +++ b/platform/core/test/capabilities/PersistenceCapabilitySpec.js @@ -74,7 +74,7 @@ define( ); mockQ = jasmine.createSpyObj( "$q", - ["reject"] + ["reject", "when"] ); mockNofificationService = jasmine.createSpyObj( "notificationService", @@ -103,6 +103,7 @@ define( mockIdentifierService.parse.andReturn(mockIdentifier); mockIdentifier.getSpace.andReturn(SPACE); mockIdentifier.getKey.andReturn(key); + mockQ.when.andCallFake(asPromise); persistence = new PersistenceCapability( mockCacheService, mockPersistenceService, @@ -156,6 +157,7 @@ define( }); it("refreshes the domain object model from persistence", function () { var refreshModel = {someOtherKey: "some other value"}; + model.persisted = 1; mockPersistenceService.readObject.andReturn(asPromise(refreshModel)); persistence.refresh(); expect(model).toEqual(refreshModel); From 48b271b7ca3e7bf4dfd608205fc6252341438cb8 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 22 Jun 2016 16:14:49 -0700 Subject: [PATCH 09/47] [Edit] Unshadow variable name ...to satisfy JSHint --- platform/commonUI/edit/src/actions/SaveAsAction.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/commonUI/edit/src/actions/SaveAsAction.js b/platform/commonUI/edit/src/actions/SaveAsAction.js index d13f723bb85..059adbfe57d 100644 --- a/platform/commonUI/edit/src/actions/SaveAsAction.js +++ b/platform/commonUI/edit/src/actions/SaveAsAction.js @@ -141,8 +141,8 @@ define( return copyService.perform(domainObject, parent, allowClone); } - function undirty(domainObject) { - return domainObject.getCapability('persistence').refresh(); + function undirty(object) { + return object.getCapability('persistence').refresh(); } function undirtyOriginals(object) { From b57fc2a0e33c8fa0d84092cc04cc0204088f3115 Mon Sep 17 00:00:00 2001 From: Sarin Date: Mon, 27 Jun 2016 16:09:28 +0700 Subject: [PATCH 10/47] [Documentation] Add getting started section --- README.md | 61 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 65e1bad53b3..c1ddb89c4ee 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,43 @@ # Open MCT -Open MCT is a web-based platform for mission operations user interface -software. +Open MCT is a next-generation mission control framework being developed at the NASA Ames Research Center in Silicon Valley. Web-based, for desktop and mobile. + +##HOW IS NASA USING OPEN MCT? + +Software based on Open MCT is being used for mission planning and operations in the lead up to the [Resource Prospector mission](https://www.nasa.gov/resource-prospector) and at NASA's Jet Propulsion Laboratory to view data from the Curiosity Rover. + +##Features + + - Support planning and operations of any system that produces telemetry + - Support space missions + - Visualize Data + - Streaming Data + - Historical Data + - Imagery + - Timelines + - Procedures + - etc. + +##See Open MCT in Action +[LIVE DEMO](https://openmct-demo.herokuapp.com/) +![Demo](https://nasa.github.io/openmct/static/res/images/Open-MCT.Browse.Layout.Mars-Weather-1.jpg) + +##Getting Started + +1. Download or Clone OpenMCT + `git clone https://github.com/nasa/openmct.git` + +2. Install Development Dependencies + `npm install` + +3. Run on your local machine + `npm start` + +4. Open your web browser and go to http://localhost:8080/ + +5. Wait for splash screen finish then you should be able to play with Open MCT. + +For more information on building and running Open MCT, please see our getting started guide - https://nasa.github.io/openmct/getting-started/ ## Build @@ -22,27 +58,6 @@ instance (e.g. by starting an HTTP server in that directory), including: Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js). -### Building Open MCT - -Once downloaded, Open MCT can be built with the following command: - - npm install - -This will install various dependencies, build CSS from Sass files, run tests, -and lint the source code. - -It's not necessary to do this after every code change, unless you are making -changes to stylesheets, or you are running the minified version of the app -(under `dist`). - -### Running Open MCT - -Once built, Open MCT can be run using the command: - - npm start - -For more information on building and running Open MCT, please see our getting started guide - https://nasa.github.io/openmct/getting-started/ - ### Building Documentation Open MCT's documentation is generated by an From 8cf7ffc7cce2f3cbbc8fe8ffd0c82a96b2c0a7fa Mon Sep 17 00:00:00 2001 From: Sarin Date: Mon, 27 Jun 2016 17:11:27 +0700 Subject: [PATCH 11/47] [Documentation] Add How is NASA Using Open MCT?, Features, See Open MCT in Action, Getting Started Sections --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1ddb89c4ee..727add5c611 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Open MCT is a next-generation mission control framework being developed at the NASA Ames Research Center in Silicon Valley. Web-based, for desktop and mobile. -##HOW IS NASA USING OPEN MCT? +##How is NASA Using Open MCT? Software based on Open MCT is being used for mission planning and operations in the lead up to the [Resource Prospector mission](https://www.nasa.gov/resource-prospector) and at NASA's Jet Propulsion Laboratory to view data from the Curiosity Rover. From d1c01d3c8681bf335ca6b1ceb1529bc3e389816d Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Mon, 27 Jun 2016 09:12:57 -0700 Subject: [PATCH 12/47] Squashed commit of the following: commit 3f199a9f061237a8d1d0dff46b6334ad78356e6a Merge: 27fe4ed 736cba7 Author: Victor Woeltjen Date: Mon Jun 27 09:04:40 2016 -0700 Merge remote-tracking branch 'origin/master' into clear-transactions-1046 Conflicts: platform/commonUI/edit/src/actions/SaveAsAction.js commit 27fe4edb30931c2eed0c0e027e6c335b2eca79db Author: Victor Woeltjen Date: Wed Jun 22 15:04:06 2016 -0700 [Edit] Mark restartTransaction as private API commit 21d1938a0f6c2430e7350c69075f51ea6cb064ac Author: Victor Woeltjen Date: Wed Jun 22 15:03:17 2016 -0700 [Edit] Clarify JSDoc commit 06a83f9fa98b6257c0ec8e937289256edaf918ff Author: Victor Woeltjen Date: Wed Jun 22 15:01:35 2016 -0700 [Edit] Update failing spec commit 1f525160e007c5c436b738833dcd0db3faeedca0 Author: Victor Woeltjen Date: Wed Jun 22 14:52:43 2016 -0700 [Edit] Refer to correct variable ...when clearing transactions after a restartTransaction commit b60e94bce414044ce04b99467a8828be90ea871e Author: Victor Woeltjen Date: Wed Jun 22 14:38:54 2016 -0700 [Edit] Clear transactions on Save As ...such that only persistence calls associated with the saved clones are actually issued. Fixes #1046. --- platform/commonUI/edit/bundle.js | 3 +- .../commonUI/edit/src/actions/SaveAsAction.js | 16 ++++++++++ .../edit/src/services/TransactionService.js | 31 ++++++++++++++++++- .../edit/test/actions/SaveAsActionSpec.js | 18 ++++++++++- 4 files changed, 65 insertions(+), 3 deletions(-) diff --git a/platform/commonUI/edit/bundle.js b/platform/commonUI/edit/bundle.js index aac5de49e5c..4f79d117876 100644 --- a/platform/commonUI/edit/bundle.js +++ b/platform/commonUI/edit/bundle.js @@ -222,7 +222,8 @@ define([ "policyService", "dialogService", "creationService", - "copyService" + "copyService", + "transactionService" ], "priority": "mandatory" }, diff --git a/platform/commonUI/edit/src/actions/SaveAsAction.js b/platform/commonUI/edit/src/actions/SaveAsAction.js index 9c34c06c9af..4c4206b8a64 100644 --- a/platform/commonUI/edit/src/actions/SaveAsAction.js +++ b/platform/commonUI/edit/src/actions/SaveAsAction.js @@ -44,6 +44,7 @@ define([ dialogService, creationService, copyService, + transactionService, context ) { this.domainObject = (context || {}).domainObject; @@ -54,6 +55,7 @@ define([ this.dialogService = dialogService; this.creationService = creationService; this.copyService = copyService; + this.transactionService = transactionService; } /** @@ -111,6 +113,8 @@ define([ var self = this, domainObject = this.domainObject, copyService = this.copyService, + transactionService = this.transactionService, + cancelOldTransaction, dialog = new SaveInProgressDialog(this.dialogService); function doWizardSave(parent) { @@ -156,6 +160,16 @@ define([ .then(resolveWith(clonedObject)); } + function restartTransaction(object) { + cancelOldTransaction = transactionService.restartTransaction(); + return object; + } + + function doCancelOldTransaction(object) { + cancelOldTransaction(); + return object; + } + function onFailure() { hideBlockingDialog(); return false; @@ -165,8 +179,10 @@ define([ .then(doWizardSave) .then(showBlockingDialog) .then(getParent) + .then(restartTransaction) .then(cloneIntoParent) .then(commitEditingAfterClone) + .then(doCancelOldTransaction) .then(hideBlockingDialog) .catch(onFailure); }; diff --git a/platform/commonUI/edit/src/services/TransactionService.js b/platform/commonUI/edit/src/services/TransactionService.js index 8d6c465959e..00bc96e1dd0 100644 --- a/platform/commonUI/edit/src/services/TransactionService.js +++ b/platform/commonUI/edit/src/services/TransactionService.js @@ -140,9 +140,38 @@ define( }); }; + /** + * Clear and restart the active transaction. + * + * This neither cancels nor commits the active transaction; + * instead, it returns a function that can be used to cancel that + * transaction. + * + * @returns {Function} a function to cancel the prior transaction + * @private + */ + TransactionService.prototype.restartTransaction = function () { + var oldOnCancels = this.onCancels; + + this.onCommits = []; + this.onCancels = []; + + return function () { + while (oldOnCancels.length > 0) { + var onCancel = oldOnCancels.pop(); + try { + onCancel(); + } catch (error) { + this.$log.error("Error cancelling transaction."); + } + } + }; + }; + TransactionService.prototype.size = function () { return this.onCommits.length; }; return TransactionService; - }); + } +); diff --git a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js index 37e35aa5af8..850e18eccac 100644 --- a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js +++ b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js @@ -34,6 +34,7 @@ define( mockCopyService, mockParent, mockUrlService, + mockTransactionService, actionContext, capabilities = {}, action; @@ -119,11 +120,26 @@ define( ["urlForLocation"] ); + mockTransactionService = jasmine.createSpyObj( + "transactionService", + ["restartTransaction"] + ); + mockTransactionService.restartTransaction + .andReturn(jasmine.createSpy()); + actionContext = { domainObject: mockDomainObject }; - action = new SaveAsAction(undefined, undefined, mockDialogService, undefined, mockCopyService, actionContext); + action = new SaveAsAction( + undefined, + undefined, + mockDialogService, + undefined, + mockCopyService, + mockTransactionService, + actionContext + ); spyOn(action, "getObjectService"); action.getObjectService.andReturn(mockObjectService); From 8a9edd3705ba1742dc4168affa52c87485af2590 Mon Sep 17 00:00:00 2001 From: pacozaa Date: Tue, 28 Jun 2016 12:51:12 +0700 Subject: [PATCH 13/47] [Documentation] Add Official site --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 727add5c611..491cedc2e0a 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Open MCT is a next-generation mission control framework being developed at the NASA Ames Research Center in Silicon Valley. Web-based, for desktop and mobile. +[Official Site](https://nasa.github.io/openmct/) + ##How is NASA Using Open MCT? Software based on Open MCT is being used for mission planning and operations in the lead up to the [Resource Prospector mission](https://www.nasa.gov/resource-prospector) and at NASA's Jet Propulsion Laboratory to view data from the Curiosity Rover. From eef08ccb0b02475e61129c209abce2b64ce10785 Mon Sep 17 00:00:00 2001 From: pacozaa Date: Tue, 28 Jun 2016 13:05:28 +0700 Subject: [PATCH 14/47] [Documentation]Add convince messages --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 491cedc2e0a..ec21b6565a4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Open MCT is a next-generation mission control framework being developed at the NASA Ames Research Center in Silicon Valley. Web-based, for desktop and mobile. -[Official Site](https://nasa.github.io/openmct/) +Please visit our [Official Site](https://nasa.github.io/openmct/) ##How is NASA Using Open MCT? @@ -21,12 +21,16 @@ Software based on Open MCT is being used for mission planning and operations in - etc. ##See Open MCT in Action + +Do you want to see how Open MCT work? Try our demo. [LIVE DEMO](https://openmct-demo.herokuapp.com/) ![Demo](https://nasa.github.io/openmct/static/res/images/Open-MCT.Browse.Layout.Mars-Weather-1.jpg) ##Getting Started -1. Download or Clone OpenMCT +Here is how to run Open MCT in you local machine. + +1. Download or Clone Open MCT `git clone https://github.com/nasa/openmct.git` 2. Install Development Dependencies From ea1780364b9ff8aeadadbddb4e46d9f0a3fab74d Mon Sep 17 00:00:00 2001 From: Henry Date: Wed, 29 Jun 2016 20:09:58 -0700 Subject: [PATCH 15/47] [Dialog Service] Dismiss individual dialogs. Fixes #254 --- .../src/DialogLaunchController.js | 126 ++++++++++-------- platform/commonUI/dialog/src/DialogService.js | 67 +++++----- .../commonUI/dialog/test/DialogServiceSpec.js | 41 +++++- .../edit/src/actions/SaveInProgressDialog.js | 7 +- .../edit/test/actions/SaveActionSpec.js | 33 +++-- .../edit/test/actions/SaveAsActionSpec.js | 33 +++-- .../src/controllers/BannerController.js | 8 +- .../src/NotificationIndicatorController.js | 3 - .../NotificationIndicatorControllerSpec.js | 15 --- .../entanglement/src/actions/CopyAction.js | 13 +- .../test/actions/CopyActionSpec.js | 6 +- 11 files changed, 209 insertions(+), 143 deletions(-) diff --git a/example/notifications/src/DialogLaunchController.js b/example/notifications/src/DialogLaunchController.js index f35d008cd08..e7f867d303d 100644 --- a/example/notifications/src/DialogLaunchController.js +++ b/example/notifications/src/DialogLaunchController.js @@ -44,30 +44,31 @@ define( periodically with the progress of an ongoing process. */ $scope.launchProgress = function (knownProgress) { - var model = { - title: "Progress Dialog Example", - progress: 0, - hint: "Do not navigate away from this page or close this browser tab while this operation is in progress.", - actionText: "Calculating...", - unknownProgress: !knownProgress, - unknownDuration: false, - severity: "info", - options: [ - { - label: "Cancel Operation", - callback: function () { - $log.debug("Operation cancelled"); - dialogService.dismiss(); + var dialog, + model = { + title: "Progress Dialog Example", + progress: 0, + hint: "Do not navigate away from this page or close this browser tab while this operation is in progress.", + actionText: "Calculating...", + unknownProgress: !knownProgress, + unknownDuration: false, + severity: "info", + options: [ + { + label: "Cancel Operation", + callback: function () { + $log.debug("Operation cancelled"); + dialog.dismiss(); + } + }, + { + label: "Do something else...", + callback: function () { + $log.debug("Something else pressed"); + } } - }, - { - label: "Do something else...", - callback: function () { - $log.debug("Something else pressed"); - } - } - ] - }; + ] + }; function incrementProgress() { model.progress = Math.min(100, Math.floor(model.progress + Math.random() * 30)); @@ -77,7 +78,9 @@ define( } } - if (dialogService.showBlockingMessage(model)) { + dialog = dialogService.showBlockingMessage(model); + + if (dialog) { //Do processing here model.actionText = "Processing 100 objects..."; if (knownProgress) { @@ -93,29 +96,31 @@ define( Demonstrates launching an error dialog */ $scope.launchError = function () { - var model = { - title: "Error Dialog Example", - actionText: "Something happened, and it was not good.", - severity: "error", - options: [ - { - label: "Try Again", - callback: function () { - $log.debug("Try Again Pressed"); - dialogService.dismiss(); + var dialog, + model = { + title: "Error Dialog Example", + actionText: "Something happened, and it was not good.", + severity: "error", + options: [ + { + label: "Try Again", + callback: function () { + $log.debug("Try Again Pressed"); + dialog.dismiss(); + } + }, + { + label: "Cancel", + callback: function () { + $log.debug("Cancel Pressed"); + dialog.dismiss(); + } } - }, - { - label: "Cancel", - callback: function () { - $log.debug("Cancel Pressed"); - dialogService.dismiss(); - } - } - ] - }; + ] + }; + dialog = dialogService.showBlockingMessage(model); - if (!dialogService.showBlockingMessage(model)) { + if (!dialog) { $log.error("Could not display modal dialog"); } }; @@ -124,22 +129,25 @@ define( Demonstrates launching an error dialog */ $scope.launchInfo = function () { - var model = { - title: "Info Dialog Example", - actionText: "This is an example of a blocking info" + - " dialog. This dialog can be used to draw the user's" + - " attention to an event.", - severity: "info", - primaryOption: { - label: "OK", - callback: function () { - $log.debug("OK Pressed"); - dialogService.dismiss(); + var dialog, + model = { + title: "Info Dialog Example", + actionText: "This is an example of a blocking info" + + " dialog. This dialog can be used to draw the user's" + + " attention to an event.", + severity: "info", + primaryOption: { + label: "OK", + callback: function () { + $log.debug("OK Pressed"); + dialog.dismiss(); + } } - } - }; + }; + + dialog = dialogService.showBlockingMessage(model); - if (!dialogService.showBlockingMessage(model)) { + if (!dialog) { $log.error("Could not display modal dialog"); } }; diff --git a/platform/commonUI/dialog/src/DialogService.js b/platform/commonUI/dialog/src/DialogService.js index 778a1721471..f3e888b6e01 100644 --- a/platform/commonUI/dialog/src/DialogService.js +++ b/platform/commonUI/dialog/src/DialogService.js @@ -39,25 +39,28 @@ define( this.overlayService = overlayService; this.$q = $q; this.$log = $log; - this.overlay = undefined; - this.dialogVisible = false; + this.activeOverlay = undefined; } - // Stop showing whatever overlay is currently active - // (e.g. because the user hit cancel) - DialogService.prototype.dismiss = function () { - var overlay = this.overlay; - if (overlay) { - overlay.dismiss(); + /** + * @private + */ + DialogService.prototype.dismissOverlay = function (overlay) { + //Dismiss the overlay + overlay.dismiss(); + + //If dialog is the current active one, dismiss it + if (overlay === this.activeOverlay) { + this.activeOverlay = undefined; } - this.dialogVisible = false; }; DialogService.prototype.getDialogResponse = function (key, model, resultGetter, typeClass) { // We will return this result as a promise, because user // input is asynchronous. var deferred = this.$q.defer(), - self = this; + self = this, + overlay; // Confirm function; this will be passed in to the // overlay-dialog template and associated with a @@ -65,9 +68,7 @@ define( function confirm(value) { // Pass along the result deferred.resolve(resultGetter ? resultGetter() : value); - - // Stop showing the dialog - self.dismiss(); + self.dismissOverlay(overlay); } // Cancel function; this will be passed in to the @@ -75,7 +76,7 @@ define( // Cancel or X button click function cancel() { deferred.reject(); - self.dismiss(); + self.dismissOverlay(overlay); } // Add confirm/cancel callbacks @@ -85,15 +86,11 @@ define( if (this.canShowDialog(model)) { // Add the overlay using the OverlayService, which // will handle actual insertion into the DOM - this.overlay = this.overlayService.createOverlay( + overlay = this.activeOverlay = this.overlayService.createOverlay( key, model, typeClass || "t-dialog" ); - - // Track that a dialog is already visible, to - // avoid spawning multiple dialogs at once. - this.dialogVisible = true; } else { deferred.reject(); } @@ -156,7 +153,7 @@ define( * otherwise */ DialogService.prototype.canShowDialog = function (dialogModel) { - if (this.dialogVisible) { + if (this.activeOverlay) { // Only one dialog should be shown at a time. // The application design should be such that // we never even try to do this. @@ -183,6 +180,11 @@ define( * button is clicked */ + /** + * @typedef DialogHandle + * @property {function} dismiss a function to dismiss the given dialog + */ + /** * A description of the model options that may be passed to the * showBlockingMessage method. Note that the DialogModel desribed @@ -222,21 +224,26 @@ define( * the user can take if necessary * @param {DialogModel} dialogModel defines options for the dialog * @param {typeClass} string tells overlayService that this overlay should use appropriate CSS class - * @returns {boolean} + * @returns {boolean | {DialogHandle}} */ DialogService.prototype.showBlockingMessage = function (dialogModel) { if (this.canShowDialog(dialogModel)) { // Add the overlay using the OverlayService, which // will handle actual insertion into the DOM - this.overlay = this.overlayService.createOverlay( - "overlay-blocking-message", - dialogModel, - "t-dialog-sm" - ); - // Track that a dialog is already visible, to - // avoid spawning multiple dialogs at once. - this.dialogVisible = true; - return true; + var self = this, + overlay = this.overlayService.createOverlay( + "overlay-blocking-message", + dialogModel, + "t-dialog-sm" + ); + + this.activeOverlay = overlay; + + return { + dismiss: function () { + self.dismissOverlay(overlay); + } + }; } else { return false; } diff --git a/platform/commonUI/dialog/test/DialogServiceSpec.js b/platform/commonUI/dialog/test/DialogServiceSpec.js index 2d801eb0283..663f9fbeda9 100644 --- a/platform/commonUI/dialog/test/DialogServiceSpec.js +++ b/platform/commonUI/dialog/test/DialogServiceSpec.js @@ -122,7 +122,7 @@ define( it("invokes the overlay service with the correct parameters when" + " a blocking dialog is requested", function () { var dialogModel = {}; - expect(dialogService.showBlockingMessage(dialogModel)).toBe(true); + expect(dialogService.showBlockingMessage(dialogModel)).not.toBe(false); expect(mockOverlayService.createOverlay).toHaveBeenCalledWith( "overlay-blocking-message", dialogModel, @@ -130,6 +130,45 @@ define( ); }); + describe("the blocking message dialog", function () { + var dialogModel = {}; + var dialogHandle; + + beforeEach(function () { + dialogHandle = dialogService.showBlockingMessage(dialogModel); + }); + + it("returns a handle to the dialog", function () { + expect(dialogHandle).not.toBe(undefined); + }); + + it("dismissing the dialog dismisses the overlay", function () { + dialogHandle.dismiss(); + expect(mockOverlay.dismiss).toHaveBeenCalled(); + }); + + it("individual dialogs can be dismissed", function () { + var secondDialogHandle, + secondMockOverlay; + + dialogHandle.dismiss(); + + secondMockOverlay = jasmine.createSpyObj( + "overlay", + ["dismiss"] + ); + mockOverlayService.createOverlay.andReturn(secondMockOverlay); + secondDialogHandle = dialogService.showBlockingMessage(dialogModel); + + //Dismiss the first dialog. It should only dismiss if it + // is active + dialogHandle.dismiss(); + expect(secondMockOverlay.dismiss).not.toHaveBeenCalled(); + secondDialogHandle.dismiss(); + expect(secondMockOverlay.dismiss).toHaveBeenCalled(); + }); + }); + }); } ); diff --git a/platform/commonUI/edit/src/actions/SaveInProgressDialog.js b/platform/commonUI/edit/src/actions/SaveInProgressDialog.js index c80989b8e09..56c2c1ad867 100644 --- a/platform/commonUI/edit/src/actions/SaveInProgressDialog.js +++ b/platform/commonUI/edit/src/actions/SaveInProgressDialog.js @@ -1,10 +1,11 @@ define([], function () { function SaveInProgressDialog(dialogService) { this.dialogService = dialogService; + this.dialog = undefined; } SaveInProgressDialog.prototype.show = function () { - this.dialogService.showBlockingMessage({ + this.dialog = this.dialogService.showBlockingMessage({ title: "Saving...", hint: "Do not navigate away from this page or close this browser tab while this message is displayed.", unknownProgress: true, @@ -13,7 +14,9 @@ define([], function () { }; SaveInProgressDialog.prototype.hide = function () { - this.dialogService.dismiss(); + if (this.dialog) { + this.dialog.dismiss(); + } }; return SaveInProgressDialog; diff --git a/platform/commonUI/edit/test/actions/SaveActionSpec.js b/platform/commonUI/edit/test/actions/SaveActionSpec.js index b81da3d7de8..a24e3f45879 100644 --- a/platform/commonUI/edit/test/actions/SaveActionSpec.js +++ b/platform/commonUI/edit/test/actions/SaveActionSpec.js @@ -70,7 +70,7 @@ define( }; dialogService = jasmine.createSpyObj( "dialogService", - ["showBlockingMessage", "dismiss"] + ["showBlockingMessage"] ); mockDomainObject.hasCapability.andReturn(true); @@ -111,17 +111,28 @@ define( expect(mockActionCapability.perform).toHaveBeenCalledWith("navigate"); }); - it("shows a dialog while saving", function () { - mockEditorCapability.save.andReturn(new Promise(function () {})); - action.perform(); - expect(dialogService.showBlockingMessage).toHaveBeenCalled(); - expect(dialogService.dismiss).not.toHaveBeenCalled(); - }); + describe("a blocking dialog", function () { + var mockDialogHandle; + + beforeEach(function () { + mockDialogHandle = jasmine.createSpyObj("dialogHandle", ["dismiss"]); + dialogService.showBlockingMessage.andReturn(mockDialogHandle); + }); - it("hides a dialog when saving is complete", function () { - action.perform(); - expect(dialogService.showBlockingMessage).toHaveBeenCalled(); - expect(dialogService.dismiss).toHaveBeenCalled(); + + it("shows a dialog while saving", function () { + mockEditorCapability.save.andReturn(new Promise(function () { + })); + action.perform(); + expect(dialogService.showBlockingMessage).toHaveBeenCalled(); + expect(mockDialogHandle.dismiss).not.toHaveBeenCalled(); + }); + + it("hides a dialog when saving is complete", function () { + action.perform(); + expect(dialogService.showBlockingMessage).toHaveBeenCalled(); + expect(mockDialogHandle.dismiss).toHaveBeenCalled(); + }); }); }); diff --git a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js index 37e35aa5af8..b949f6b447f 100644 --- a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js +++ b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js @@ -101,8 +101,7 @@ define( "dialogService", [ "getUserInput", - "showBlockingMessage", - "dismiss" + "showBlockingMessage" ] ); mockDialogService.getUserInput.andReturn(mockPromise(undefined)); @@ -171,17 +170,27 @@ define( expect(mockDialogService.getUserInput).toHaveBeenCalled(); }); - it("shows a blocking dialog while waiting for save", function () { - mockEditorCapability.save.andReturn(new Promise(function () {})); - action.perform(); - expect(mockDialogService.showBlockingMessage).toHaveBeenCalled(); - expect(mockDialogService.dismiss).not.toHaveBeenCalled(); - }); + describe("a blocking dialog", function () { + var mockDialogHandle; + + beforeEach(function () { + mockDialogHandle = jasmine.createSpyObj("dialogHandle", ["dismiss"]); + mockDialogService.showBlockingMessage.andReturn(mockDialogHandle); + }); + + it("indicates that a save is taking place", function () { + mockEditorCapability.save.andReturn(new Promise(function () {})); + action.perform(); + expect(mockDialogService.showBlockingMessage).toHaveBeenCalled(); + expect(mockDialogHandle.dismiss).not.toHaveBeenCalled(); + }); + + it("is hidden after saving", function () { + action.perform(); + expect(mockDialogService.showBlockingMessage).toHaveBeenCalled(); + expect(mockDialogHandle.dismiss).toHaveBeenCalled(); + }); - it("hides the blocking dialog after saving", function () { - action.perform(); - expect(mockDialogService.showBlockingMessage).toHaveBeenCalled(); - expect(mockDialogService.dismiss).toHaveBeenCalled(); }); }); diff --git a/platform/commonUI/general/src/controllers/BannerController.js b/platform/commonUI/general/src/controllers/BannerController.js index 5b0cdd61bc6..098bacfa9f6 100644 --- a/platform/commonUI/general/src/controllers/BannerController.js +++ b/platform/commonUI/general/src/controllers/BannerController.js @@ -54,17 +54,17 @@ define( }; $scope.maximize = function (notification) { if (notification.model.severity !== "info") { - + var dialog; notification.model.cancel = function () { - dialogService.dismiss(); + dialog.dismiss(); }; //If the notification is dismissed by the user, close // the dialog. notification.onDismiss(function () { - dialogService.dismiss(); + dialog.dismiss(); }); - dialogService.showBlockingMessage(notification.model); + dialog = dialogService.showBlockingMessage(notification.model); } }; } diff --git a/platform/commonUI/notification/src/NotificationIndicatorController.js b/platform/commonUI/notification/src/NotificationIndicatorController.js index 8a1bdbca2aa..f5343df46dd 100644 --- a/platform/commonUI/notification/src/NotificationIndicatorController.js +++ b/platform/commonUI/notification/src/NotificationIndicatorController.js @@ -49,9 +49,6 @@ define( //Launch the message list dialog with the models // from the notifications messages: notificationService.notifications - }, - cancel: function () { - dialogService.dismiss(); } }); diff --git a/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js b/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js index 222c2fc87b4..adcc912b601 100644 --- a/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js +++ b/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js @@ -54,22 +54,7 @@ define( expect(mockDialogService.getDialogResponse).toHaveBeenCalled(); expect(mockDialogService.getDialogResponse.mostRecentCall.args[0]).toBe('overlay-message-list'); expect(mockDialogService.getDialogResponse.mostRecentCall.args[1].dialog).toBeDefined(); - expect(mockDialogService.getDialogResponse.mostRecentCall.args[1].cancel).toBeDefined(); - //Invoke the cancel callback - mockDialogService.getDialogResponse.mostRecentCall.args[1].cancel(); - expect(mockDialogService.dismiss).toHaveBeenCalled(); }); - - it("provides a means of dismissing the message list", function () { - expect(mockScope.showNotificationsList).toBeDefined(); - mockScope.showNotificationsList(); - expect(mockDialogService.getDialogResponse).toHaveBeenCalled(); - expect(mockDialogService.getDialogResponse.mostRecentCall.args[1].cancel).toBeDefined(); - //Invoke the cancel callback - mockDialogService.getDialogResponse.mostRecentCall.args[1].cancel(); - expect(mockDialogService.dismiss).toHaveBeenCalled(); - }); - }); } ); diff --git a/platform/entanglement/src/actions/CopyAction.js b/platform/entanglement/src/actions/CopyAction.js index 0c5ab99755b..ce40f3bbd23 100644 --- a/platform/entanglement/src/actions/CopyAction.js +++ b/platform/entanglement/src/actions/CopyAction.js @@ -86,7 +86,9 @@ define( severity: "info" }); } else if (phase.toLowerCase() === "copying") { - this.dialogService.dismiss(); + if (this.dialog) { + this.dialog.dismiss(); + } if (!this.notification) { this.notification = this.notificationService .notify({ @@ -115,7 +117,8 @@ define( } function error(errorDetails) { - var errorMessage = { + var errorDialog, + errorMessage = { title: "Error copying objects.", severity: "error", hint: errorDetails.message, @@ -123,12 +126,12 @@ define( options: [{ label: "OK", callback: function () { - self.dialogService.dismiss(); + errorDialog.dismiss(); } }] }; - self.dialogService.dismiss(); + self.dialog.dismiss(); if (self.notification) { self.notification.dismiss(); // Clear the progress notification } @@ -136,7 +139,7 @@ define( //Show a minimized notification of error for posterity self.notificationService.notify(errorMessage); //Display a blocking message - self.dialogService.showBlockingMessage(errorMessage); + errorDialog = self.dialogService.showBlockingMessage(errorMessage); } function notification(details) { diff --git a/platform/entanglement/test/actions/CopyActionSpec.js b/platform/entanglement/test/actions/CopyActionSpec.js index 176b5baef89..8d9b6397b6b 100644 --- a/platform/entanglement/test/actions/CopyActionSpec.js +++ b/platform/entanglement/test/actions/CopyActionSpec.js @@ -44,6 +44,7 @@ define( notificationService, notification, dialogService, + mockDialog, mockLog, abstractComposePromise, progress = {phase: "copying", totalObjects: 10, processed: 1}; @@ -120,9 +121,12 @@ define( .andReturn(locationServicePromise); dialogService = jasmine.createSpyObj('dialogService', - ['showBlockingMessage', 'dismiss'] + ['showBlockingMessage'] ); + mockDialog = jasmine.createSpyObj("dialog", ["dismiss"]); + dialogService.showBlockingMessage.andReturn(mockDialog); + notification = jasmine.createSpyObj('notification', ['dismiss', 'model'] ); From 59e18b9a798cc47669b41aab243ad1bc75e7f9f4 Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 30 Jun 2016 14:44:39 -0700 Subject: [PATCH 16/47] [Search] Amended ClickAwayController to trigger digest via instead of . Fixes #1065 --- platform/commonUI/general/bundle.js | 2 +- .../src/controllers/ClickAwayController.js | 4 ++-- .../test/controllers/ClickAwayControllerSpec.js | 16 +++++++--------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/platform/commonUI/general/bundle.js b/platform/commonUI/general/bundle.js index a7dccb03267..39f7631a55d 100644 --- a/platform/commonUI/general/bundle.js +++ b/platform/commonUI/general/bundle.js @@ -259,7 +259,7 @@ define([ "implementation": ClickAwayController, "depends": [ "$document", - "$timeout" + "$scope" ] }, { diff --git a/platform/commonUI/general/src/controllers/ClickAwayController.js b/platform/commonUI/general/src/controllers/ClickAwayController.js index 18d9ca41c54..e8eee318e2e 100644 --- a/platform/commonUI/general/src/controllers/ClickAwayController.js +++ b/platform/commonUI/general/src/controllers/ClickAwayController.js @@ -34,7 +34,7 @@ define( * @param $scope the scope in which this controller is active * @param $document the document element, injected by Angular */ - function ClickAwayController($document, $timeout) { + function ClickAwayController($document, $scope) { var self = this; this.state = false; @@ -44,7 +44,7 @@ define( // `clickaway` action occurs after `toggle` if `toggle` is // triggered by a click/mouseup. this.clickaway = function () { - $timeout(function () { + $scope.$apply(function () { self.deactivate(); }); }; diff --git a/platform/commonUI/general/test/controllers/ClickAwayControllerSpec.js b/platform/commonUI/general/test/controllers/ClickAwayControllerSpec.js index e2b9f62c911..bb9209014fc 100644 --- a/platform/commonUI/general/test/controllers/ClickAwayControllerSpec.js +++ b/platform/commonUI/general/test/controllers/ClickAwayControllerSpec.js @@ -26,7 +26,7 @@ define( describe("The click-away controller", function () { var mockDocument, - mockTimeout, + mockScope, controller; beforeEach(function () { @@ -34,10 +34,11 @@ define( "$document", ["on", "off"] ); - mockTimeout = jasmine.createSpy('timeout'); + mockScope = jasmine.createSpyObj('$scope', ['$apply']); + controller = new ClickAwayController( mockDocument, - mockTimeout + mockScope ); }); @@ -77,18 +78,15 @@ define( }); it("deactivates and detaches listener on document click", function () { - var callback, timeout; + var callback, apply; controller.setState(true); callback = mockDocument.on.mostRecentCall.args[1]; callback(); - timeout = mockTimeout.mostRecentCall.args[0]; - timeout(); + apply = mockScope.$apply.mostRecentCall.args[0]; + apply(); expect(controller.isActive()).toEqual(false); expect(mockDocument.off).toHaveBeenCalledWith("mouseup", callback); }); - - - }); } ); From 12b554495995838d6477c3d5e775661fd9e3526c Mon Sep 17 00:00:00 2001 From: pacozaa Date: Sat, 9 Jul 2016 20:49:05 +0700 Subject: [PATCH 17/47] [Documentation] Edit as Reqeust in #1044 comment --- README.md | 69 +++++++++++++++---------------------------------------- 1 file changed, 19 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index ec21b6565a4..b81e441f130 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,39 @@ # Open MCT -Open MCT is a next-generation mission control framework being developed at the NASA Ames Research Center in Silicon Valley. Web-based, for desktop and mobile. +Open MCT is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data. -Please visit our [Official Site](https://nasa.github.io/openmct/) +Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/) -##How is NASA Using Open MCT? +## See Open MCT in Action -Software based on Open MCT is being used for mission planning and operations in the lead up to the [Resource Prospector mission](https://www.nasa.gov/resource-prospector) and at NASA's Jet Propulsion Laboratory to view data from the Curiosity Rover. - -##Features - - - Support planning and operations of any system that produces telemetry - - Support space missions - - Visualize Data - - Streaming Data - - Historical Data - - Imagery - - Timelines - - Procedures - - etc. - -##See Open MCT in Action - -Do you want to see how Open MCT work? Try our demo. -[LIVE DEMO](https://openmct-demo.herokuapp.com/) +Try Open MCT now with our [live demo](https://openmct-demo.herokuapp.com/). ![Demo](https://nasa.github.io/openmct/static/res/images/Open-MCT.Browse.Layout.Mars-Weather-1.jpg) -##Getting Started +## Documentation -Here is how to run Open MCT in you local machine. +Check our [Documentation on website](https://nasa.github.io/openmct/documentation/). -1. Download or Clone Open MCT - `git clone https://github.com/nasa/openmct.git` +You can also build it locally. -2. Install Development Dependencies - `npm install` - -3. Run on your local machine - `npm start` - -4. Open your web browser and go to http://localhost:8080/ +### Building the Open MCT Documentation locally +Open MCT's documentation is generated by an +[npm](https://www.npmjs.com/)-based build. It has additional dependencies that +may not be available on every platform and thus is not covered in the standard +npm install. Ensure your system has [libcairo](http://cairographics.org/) +installed and then run the following commands: -5. Wait for splash screen finish then you should be able to play with Open MCT. +* `npm install` +* `npm install canvas nomnoml` +* `npm run docs` -For more information on building and running Open MCT, please see our getting started guide - https://nasa.github.io/openmct/getting-started/ +Documentation will be generated in `target/docs`. -## Build +## Deploying Open MCT Open MCT is built using [`npm`](http://npmjs.com/) and [`gulp`](http://gulpjs.com/). -To build: +To build Open MCT for deployment: `npm run prepublish` @@ -64,20 +47,6 @@ instance (e.g. by starting an HTTP server in that directory), including: Additional `gulp` tasks are defined in [the gulpfile](gulpfile.js). -### Building Documentation - -Open MCT's documentation is generated by an -[npm](https://www.npmjs.com/)-based build. It has additional dependencies that -may not be available on every platform and thus is not covered in the standard -npm install. Ensure your system has [libcairo](http://cairographics.org/) -installed and then run the following commands: - -* `npm install` -* `npm install canvas nomnoml` -* `npm run docs` - -Documentation will be generated in `target/docs`. - ## Bundles A bundle is a group of software components (including source code, declared From c8898ac6aa5a8a3c619b3149fcb5f5f7a2144d9b Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 12 Jul 2016 16:21:58 -0700 Subject: [PATCH 18/47] [Documentation] Updated copyright statement. Fixes #1081 --- LICENSES.md | 8 +++--- build-docs.sh | 6 ++--- docs/gendocs.js | 6 ++--- docs/src/design/planning/APIRefactor.md | 16 ++++++------ docs/src/design/proposals/APIRedesign.md | 26 +++++++++---------- example/README.md | 2 +- example/builtins/bundle.js | 6 ++--- example/builtins/res/templates/example.html | 6 ++--- example/builtins/src/ExampleController.js | 6 ++--- example/builtins/src/ExampleDirective.js | 6 ++--- example/builtins/src/ExampleService.js | 6 ++--- example/composite/bundle.js | 6 ++--- example/composite/src/SomeAggregator.js | 6 ++--- example/composite/src/SomeDecorator.js | 6 ++--- example/composite/src/SomeOtherDecorator.js | 6 ++--- example/composite/src/SomeOtherExample.js | 6 ++--- example/composite/src/SomeOtherProvider.js | 6 ++--- example/composite/src/SomeProvider.js | 6 ++--- example/eventGenerator/bundle.js | 6 ++--- example/eventGenerator/src/EventTelemetry.js | 6 ++--- .../src/EventTelemetryProvider.js | 6 ++--- example/export/ExportTelemetryAsCSVAction.js | 6 ++--- example/export/bundle.js | 6 ++--- example/extensions/bundle.js | 6 ++--- example/extensions/src/SomeExample.js | 6 ++--- example/forms/bundle.js | 6 ++--- example/forms/res/templates/exampleForm.html | 6 ++--- example/forms/src/ExampleFormController.js | 6 ++--- example/generator/bundle.js | 6 ++--- example/generator/src/SinewaveConstants.js | 6 ++--- example/generator/src/SinewaveDeltaFormat.js | 6 ++--- .../generator/src/SinewaveLimitCapability.js | 6 ++--- .../src/SinewaveTelemetryProvider.js | 6 ++--- .../generator/src/SinewaveTelemetrySeries.js | 6 ++--- example/identity/bundle.js | 6 ++--- .../identity/src/ExampleIdentityService.js | 6 ++--- example/imagery/bundle.js | 6 ++--- example/imagery/src/ImageTelemetry.js | 6 ++--- example/imagery/src/ImageTelemetryProvider.js | 6 ++--- example/mobile/bundle.js | 6 ++--- example/mobile/res/sass/mobile-example.scss | 6 ++--- example/msl/bundle.js | 6 ++--- example/msl/src/MSLDataDictionary.js | 6 ++--- example/msl/src/RemsTelemetryInitializer.js | 6 ++--- example/msl/src/RemsTelemetryModelProvider.js | 6 ++--- example/msl/src/RemsTelemetryProvider.js | 6 ++--- example/msl/src/RemsTelemetrySeries.js | 6 ++--- example/msl/src/RemsTelemetryServerAdapter.js | 6 ++--- example/notifications/bundle.js | 6 ++--- .../src/DialogLaunchController.js | 6 ++--- .../src/DialogLaunchIndicator.js | 6 ++--- .../src/NotificationLaunchController.js | 6 ++--- .../src/NotificationLaunchIndicator.js | 6 ++--- example/persistence/bundle.js | 6 ++--- .../src/BrowserPersistenceProvider.js | 6 ++--- example/plotOptions/bundle.js | 6 ++--- example/policy/bundle.js | 6 ++--- example/policy/src/ExamplePolicy.js | 6 ++--- example/profiling/bundle.js | 6 ++--- example/profiling/src/DigestIndicator.js | 6 ++--- example/profiling/src/WatchIndicator.js | 6 ++--- example/scratchpad/bundle.js | 6 ++--- .../src/ScratchPersistenceProvider.js | 6 ++--- example/taxonomy/bundle.js | 6 ++--- .../src/ExampleTaxonomyModelProvider.js | 6 ++--- example/worker/bundle.js | 6 ++--- example/worker/src/FibonacciIndicator.js | 6 ++--- gulpfile.js | 6 ++--- index.html | 6 ++--- karma.conf.js | 6 ++--- main.js | 6 ++--- platform/README.md | 2 +- platform/commonUI/README.md | 2 +- platform/commonUI/about/bundle.js | 8 +++--- .../about/res/templates/about-dialog.html | 12 ++++----- .../about/res/templates/about-logo.html | 6 ++--- .../about/res/templates/app-logo.html | 6 ++--- .../about/res/templates/license-apache.html | 6 ++--- .../about/res/templates/license-mit.html | 6 ++--- .../res/templates/licenses-export-md.html | 8 +++--- .../about/res/templates/licenses.html | 6 ++--- .../about/res/templates/overlay-about.html | 6 ++--- .../commonUI/about/src/AboutController.js | 8 +++--- .../commonUI/about/src/LicenseController.js | 6 ++--- platform/commonUI/about/src/LogoController.js | 6 ++--- .../about/test/AboutControllerSpec.js | 6 ++--- .../about/test/LicenseControllerSpec.js | 6 ++--- .../commonUI/about/test/LogoControllerSpec.js | 6 ++--- platform/commonUI/browse/bundle.js | 6 ++--- .../browse/res/templates/back-arrow.html | 6 ++--- .../browse/res/templates/browse-object.html | 6 ++--- .../commonUI/browse/res/templates/browse.html | 6 ++--- .../templates/browse/inspector-region.html | 6 ++--- .../res/templates/browse/object-header.html | 6 ++--- .../templates/browse/object-properties.html | 6 ++--- .../browse/res/templates/items/grid-item.html | 6 ++--- .../browse/res/templates/items/items.html | 6 ++--- .../browse/res/templates/menu-arrow.html | 6 ++--- .../browse/res/templates/view-object.html | 6 ++--- .../commonUI/browse/src/BrowseController.js | 6 ++--- .../browse/src/BrowseObjectController.js | 6 ++--- .../commonUI/browse/src/InspectorRegion.js | 6 ++--- .../browse/src/MenuArrowController.js | 6 ++--- .../commonUI/browse/src/PaneController.js | 6 ++--- .../browse/src/navigation/NavigateAction.js | 6 ++--- .../src/navigation/NavigationService.js | 6 ++--- .../src/navigation/OrphanNavigationHandler.js | 6 ++--- .../browse/src/windowing/FullscreenAction.js | 6 ++--- .../browse/src/windowing/NewTabAction.js | 6 ++--- .../browse/src/windowing/WindowTitler.js | 6 ++--- .../browse/test/BrowseControllerSpec.js | 6 ++--- .../browse/test/BrowseObjectControllerSpec.js | 6 ++--- .../browse/test/InspectorRegionSpec.js | 6 ++--- .../browse/test/MenuArrowControllerSpec.js | 6 ++--- .../browse/test/PaneControllerSpec.js | 6 ++--- .../test/navigation/NavigateActionSpec.js | 6 ++--- .../test/navigation/NavigationServiceSpec.js | 6 ++--- .../navigation/OrphanNavigationHandlerSpec.js | 6 ++--- .../test/windowing/FullscreenActionSpec.js | 6 ++--- .../browse/test/windowing/NewTabActionSpec.js | 6 ++--- .../browse/test/windowing/WindowTitlerSpec.js | 6 ++--- platform/commonUI/dialog/bundle.js | 6 ++--- .../commonUI/dialog/res/templates/dialog.html | 6 ++--- .../templates/overlay-blocking-message.html | 6 ++--- .../dialog/res/templates/overlay-dialog.html | 6 ++--- .../dialog/res/templates/overlay-options.html | 6 ++--- .../dialog/res/templates/overlay.html | 6 ++--- platform/commonUI/dialog/src/DialogService.js | 6 ++--- .../commonUI/dialog/src/OverlayService.js | 6 ++--- .../commonUI/dialog/test/DialogServiceSpec.js | 6 ++--- .../dialog/test/OverlayServiceSpec.js | 6 ++--- platform/commonUI/edit/bundle.js | 6 ++--- .../res/templates/create/create-button.html | 6 ++--- .../res/templates/create/create-menu.html | 6 ++--- .../edit/res/templates/create/locator.html | 6 ++--- .../res/templates/edit-action-buttons.html | 6 ++--- .../edit/res/templates/edit-object.html | 6 ++--- .../commonUI/edit/res/templates/elements.html | 6 ++--- .../commonUI/edit/res/templates/library.html | 6 ++--- .../edit/res/templates/topbar-edit.html | 6 ++--- .../commonUI/edit/src/actions/CancelAction.js | 6 ++--- .../commonUI/edit/src/actions/EditAction.js | 6 ++--- .../edit/src/actions/EditAndComposeAction.js | 6 ++--- .../edit/src/actions/PropertiesAction.js | 6 ++--- .../edit/src/actions/PropertiesDialog.js | 6 ++--- .../commonUI/edit/src/actions/RemoveAction.js | 6 ++--- .../commonUI/edit/src/actions/SaveAction.js | 6 ++--- .../commonUI/edit/src/actions/SaveAsAction.js | 6 ++--- .../edit/src/capabilities/EditorCapability.js | 6 ++--- .../TransactionCapabilityDecorator.js | 6 ++--- .../TransactionalPersistenceCapability.js | 6 ++--- .../src/controllers/EditActionController.js | 6 ++--- .../src/controllers/EditObjectController.js | 6 ++--- .../src/controllers/EditPanesController.js | 6 ++--- .../src/controllers/ElementsController.js | 6 ++--- .../commonUI/edit/src/creation/AddAction.js | 6 ++--- .../edit/src/creation/AddActionProvider.js | 6 ++--- .../edit/src/creation/CreateAction.js | 6 ++--- .../edit/src/creation/CreateActionProvider.js | 6 ++--- .../edit/src/creation/CreateMenuController.js | 6 ++--- .../edit/src/creation/CreateWizard.js | 6 ++--- .../edit/src/creation/CreationPolicy.js | 6 ++--- .../edit/src/creation/CreationService.js | 6 ++--- .../edit/src/creation/LocatorController.js | 6 ++--- .../edit/src/directives/MCTBeforeUnload.js | 6 ++--- .../edit/src/policies/EditActionPolicy.js | 6 ++--- .../policies/EditContextualActionPolicy.js | 6 ++--- .../edit/src/policies/EditNavigationPolicy.js | 6 ++--- .../edit/src/policies/EditableLinkPolicy.js | 6 ++--- .../edit/src/policies/EditableMovePolicy.js | 6 ++--- .../edit/src/policies/EditableViewPolicy.js | 6 ++--- .../edit/src/representers/EditRepresenter.js | 6 ++--- .../edit/src/representers/EditToolbar.js | 6 ++--- .../representers/EditToolbarRepresenter.js | 6 ++--- .../src/representers/EditToolbarSelection.js | 6 ++--- .../edit/src/services/TransactionService.js | 6 ++--- .../edit/test/actions/CancelActionSpec.js | 6 ++--- .../edit/test/actions/EditActionSpec.js | 6 ++--- .../test/actions/EditAndComposeActionSpec.js | 6 ++--- .../edit/test/actions/PropertiesActionSpec.js | 6 ++--- .../edit/test/actions/PropertiesDialogSpec.js | 6 ++--- .../edit/test/actions/RemoveActionSpec.js | 6 ++--- .../edit/test/actions/SaveActionSpec.js | 6 ++--- .../edit/test/actions/SaveAsActionSpec.js | 6 ++--- .../test/capabilities/EditorCapabilitySpec.js | 6 ++--- .../TransactionCapabilityDecoratorSpec.js | 6 ++--- .../TransactionalPersistenceCapabilitySpec.js | 6 ++--- .../controllers/EditActionControllerSpec.js | 6 ++--- .../test/controllers/EditControllerSpec.js | 6 ++--- .../controllers/EditPanesControllerSpec.js | 6 ++--- .../controllers/ElementsControllerSpec.js | 6 ++--- .../test/creation/AddActionProviderSpec.js | 6 ++--- .../test/creation/CreateActionProviderSpec.js | 6 ++--- .../edit/test/creation/CreateActionSpec.js | 6 ++--- .../test/creation/CreateMenuControllerSpec.js | 6 ++--- .../edit/test/creation/CreateWizardSpec.js | 6 ++--- .../edit/test/creation/CreationPolicySpec.js | 6 ++--- .../edit/test/creation/CreationServiceSpec.js | 6 ++--- .../test/creation/LocatorControllerSpec.js | 6 ++--- .../test/directives/MCTBeforeUnloadSpec.js | 6 ++--- .../test/policies/EditActionPolicySpec.js | 6 ++--- .../EditContextualActionPolicySpec.js | 6 ++--- .../test/policies/EditableViewPolicySpec.js | 6 ++--- .../test/representers/EditRepresenterSpec.js | 6 ++--- .../EditToolbarRepresenterSpec.js | 6 ++--- .../representers/EditToolbarSelectionSpec.js | 6 ++--- .../edit/test/representers/EditToolbarSpec.js | 6 ++--- .../test/services/TransactionServiceSpec.js | 6 ++--- platform/commonUI/formats/bundle.js | 6 ++--- .../commonUI/formats/src/FormatProvider.js | 6 ++--- .../commonUI/formats/src/UTCTimeFormat.js | 6 ++--- .../formats/test/FormatProviderSpec.js | 6 ++--- .../formats/test/UTCTimeFormatSpec.js | 6 ++--- platform/commonUI/general/bundle.js | 6 ++--- .../icomoon.io-WTD-symbols-project.json | 2 +- .../commonUI/general/res/sass/_about.scss | 6 ++--- .../general/res/sass/_archetypes.scss | 6 ++--- .../commonUI/general/res/sass/_autoflow.scss | 6 ++--- .../commonUI/general/res/sass/_badges.scss | 6 ++--- .../commonUI/general/res/sass/_constants.scss | 6 ++--- .../commonUI/general/res/sass/_effects.scss | 6 ++--- .../general/res/sass/_fixed-position.scss | 6 ++--- .../commonUI/general/res/sass/_global.scss | 6 ++--- .../commonUI/general/res/sass/_icons.scss | 6 ++--- .../commonUI/general/res/sass/_iframe.scss | 6 ++--- .../commonUI/general/res/sass/_inspector.scss | 6 ++--- .../general/res/sass/_logo-and-bg.scss | 6 ++--- platform/commonUI/general/res/sass/_main.scss | 6 ++--- .../commonUI/general/res/sass/_mixins.scss | 6 ++--- .../general/res/sass/_object-label.scss | 6 ++--- platform/commonUI/general/res/sass/_text.scss | 6 ++--- .../general/res/sass/controls/_buttons.scss | 6 ++--- .../res/sass/controls/_color-palette.scss | 6 ++--- .../general/res/sass/controls/_controls.scss | 6 ++--- .../general/res/sass/controls/_lists.scss | 6 ++--- .../general/res/sass/controls/_menus.scss | 6 ++--- .../general/res/sass/controls/_messages.scss | 6 ++--- .../general/res/sass/controls/_ticks.scss | 6 ++--- .../general/res/sass/edit/_editor.scss | 6 ++--- .../res/sass/forms/_channel-selector.scss | 6 ++--- .../general/res/sass/forms/_datetime.scss | 6 ++--- .../general/res/sass/forms/_elems.scss | 6 ++--- .../general/res/sass/forms/_filter.scss | 6 ++--- .../general/res/sass/forms/_validation.scss | 6 ++--- .../general/res/sass/helpers/_bubbles.scss | 6 ++--- .../general/res/sass/helpers/_splitter.scss | 6 ++--- .../res/sass/helpers/_wait-spinner.scss | 6 ++--- .../general/res/sass/items/_item.scss | 6 ++--- .../general/res/sass/lists/_tabular.scss | 6 ++--- .../general/res/sass/mobile/_constants.scss | 6 ++--- .../general/res/sass/mobile/_item.scss | 6 ++--- .../general/res/sass/mobile/_layout.scss | 6 ++--- .../general/res/sass/mobile/_mixins.scss | 6 ++--- .../general/res/sass/mobile/_tree.scss | 6 ++--- .../res/sass/mobile/controls/_menus.scss | 6 ++--- .../commonUI/general/res/sass/openmct.scss | 6 ++--- .../general/res/sass/overlay/_overlay.scss | 6 ++--- .../general/res/sass/plots/_plots-main.scss | 6 ++--- .../general/res/sass/search/_search.scss | 6 ++--- .../general/res/sass/startup-base.scss | 6 ++--- .../commonUI/general/res/sass/tree/_tree.scss | 6 ++--- .../general/res/sass/user-environ/_frame.scss | 6 ++--- .../res/sass/user-environ/_layout.scss | 6 ++--- .../res/sass/user-environ/_tool-bar.scss | 6 ++--- .../res/sass/user-environ/_top-bar.scss | 6 ++--- .../general/res/templates/bottombar.html | 6 ++--- .../res/templates/containers/accordion.html | 6 ++--- .../res/templates/controls/action-button.html | 6 ++--- .../res/templates/controls/action-group.html | 6 ++--- .../templates/controls/datetime-field.html | 6 ++--- .../templates/controls/datetime-picker.html | 6 ++--- .../res/templates/controls/input-filter.html | 6 ++--- .../res/templates/controls/selector.html | 6 ++--- .../res/templates/controls/switcher.html | 6 ++--- .../templates/controls/time-controller.html | 6 ++--- .../general/res/templates/indicator.html | 6 ++--- .../commonUI/general/res/templates/label.html | 6 ++--- .../res/templates/menu/context-menu.html | 6 ++--- .../res/templates/object-inspector.html | 6 ++--- .../general/res/templates/subtree.html | 6 ++--- .../general/res/templates/tree-node.html | 6 ++--- .../commonUI/general/res/templates/tree.html | 6 ++--- .../general/res/templates/tree/wait-node.html | 6 ++--- .../general/src/SplashScreenManager.js | 6 ++--- .../commonUI/general/src/StyleSheetLoader.js | 6 ++--- .../src/controllers/ActionGroupController.js | 6 ++--- .../src/controllers/BannerController.js | 6 ++--- .../src/controllers/BottomBarController.js | 6 ++--- .../src/controllers/ClickAwayController.js | 6 ++--- .../src/controllers/ContextMenuController.js | 6 ++--- .../controllers/DateTimeFieldController.js | 6 ++--- .../controllers/DateTimePickerController.js | 6 ++--- .../src/controllers/GetterSetterController.js | 6 ++--- .../controllers/ObjectInspectorController.js | 6 ++--- .../src/controllers/SelectorController.js | 6 ++--- .../src/controllers/TimeRangeController.js | 6 ++--- .../src/controllers/ToggleController.js | 6 ++--- .../src/controllers/TreeNodeController.js | 6 ++--- .../src/controllers/ViewSwitcherController.js | 6 ++--- .../src/directives/MCTClickElsewhere.js | 6 ++--- .../general/src/directives/MCTContainer.js | 6 ++--- .../general/src/directives/MCTDrag.js | 6 ++--- .../general/src/directives/MCTPopup.js | 6 ++--- .../general/src/directives/MCTResize.js | 6 ++--- .../general/src/directives/MCTScroll.js | 6 ++--- .../general/src/directives/MCTSplitPane.js | 6 ++--- .../general/src/directives/MCTSplitter.js | 6 ++--- .../general/src/directives/MCTTree.js | 6 ++--- .../general/src/filters/ReverseFilter.js | 6 ++--- .../commonUI/general/src/services/Popup.js | 6 ++--- .../general/src/services/PopupService.js | 6 ++--- .../general/src/services/UrlService.js | 6 ++--- .../commonUI/general/src/ui/ToggleView.js | 6 ++--- .../commonUI/general/src/ui/TreeLabelView.js | 6 ++--- .../commonUI/general/src/ui/TreeNodeView.js | 6 ++--- platform/commonUI/general/src/ui/TreeView.js | 6 ++--- .../general/test/SplashScreenManagerSpec.js | 6 ++--- .../general/test/StyleSheetLoaderSpec.js | 6 ++--- .../controllers/ActionGroupControllerSpec.js | 6 ++--- .../controllers/BottomBarControllerSpec.js | 6 ++--- .../controllers/ClickAwayControllerSpec.js | 6 ++--- .../controllers/ContextMenuControllerSpec.js | 6 ++--- .../DateTimeFieldControllerSpec.js | 6 ++--- .../DateTimePickerControllerSpec.js | 6 ++--- .../controllers/GetterSetterControllerSpec.js | 6 ++--- .../ObjectInspectorControllerSpec.js | 6 ++--- .../controllers/SelectorControllerSpec.js | 6 ++--- .../controllers/TimeRangeControllerSpec.js | 6 ++--- .../test/controllers/ToggleControllerSpec.js | 6 ++--- .../controllers/TreeNodeControllerSpec.js | 6 ++--- .../controllers/ViewSwitcherControllerSpec.js | 6 ++--- .../test/directives/MCTClickElsewhereSpec.js | 6 ++--- .../test/directives/MCTContainerSpec.js | 6 ++--- .../general/test/directives/MCTDragSpec.js | 6 ++--- .../general/test/directives/MCTPopupSpec.js | 6 ++--- .../general/test/directives/MCTResizeSpec.js | 6 ++--- .../general/test/directives/MCTScrollSpec.js | 6 ++--- .../test/directives/MCTSplitPaneSpec.js | 6 ++--- .../test/directives/MCTSplitterSpec.js | 6 ++--- .../general/test/directives/MCTTreeSpec.js | 6 ++--- .../general/test/filters/ReverseFilterSpec.js | 6 ++--- .../general/test/services/PopupServiceSpec.js | 6 ++--- .../general/test/services/PopupSpec.js | 6 ++--- .../general/test/services/UrlServiceSpec.js | 6 ++--- .../commonUI/general/test/ui/TreeViewSpec.js | 6 ++--- platform/commonUI/inspect/bundle.js | 6 ++--- platform/commonUI/inspect/res/infobubble.html | 6 ++--- .../inspect/res/templates/info-button.html | 6 ++--- .../commonUI/inspect/src/InfoConstants.js | 6 ++--- .../inspect/src/gestures/InfoButtonGesture.js | 6 ++--- .../inspect/src/gestures/InfoGesture.js | 6 ++--- .../inspect/src/services/InfoService.js | 6 ++--- .../test/gestures/InfoButtonGestureSpec.js | 6 ++--- .../inspect/test/gestures/InfoGestureSpec.js | 6 ++--- .../inspect/test/services/InfoServiceSpec.js | 6 ++--- platform/commonUI/mobile/bundle.js | 6 ++--- platform/commonUI/mobile/src/AgentService.js | 6 ++--- .../commonUI/mobile/src/DeviceClassifier.js | 6 ++--- .../commonUI/mobile/src/DeviceMatchers.js | 6 ++--- platform/commonUI/mobile/src/MCTDevice.js | 6 ++--- .../commonUI/mobile/test/AgentServiceSpec.js | 6 ++--- .../mobile/test/DeviceClassifierSpec.js | 6 ++--- .../mobile/test/DeviceMatchersSpec.js | 6 ++--- .../commonUI/mobile/test/MCTDeviceSpec.js | 6 ++--- platform/commonUI/notification/bundle.js | 6 ++--- .../notification/src/NotificationIndicator.js | 6 ++--- .../src/NotificationIndicatorController.js | 6 ++--- .../notification/src/NotificationService.js | 6 ++--- .../NotificationIndicatorControllerSpec.js | 6 ++--- .../test/NotificationServiceSpec.js | 6 ++--- platform/commonUI/regions/bundle.js | 6 ++--- .../regions/src/EditableRegionPolicy.js | 6 ++--- .../regions/src/InspectorController.js | 6 ++--- platform/commonUI/regions/src/Region.js | 6 ++--- .../regions/test/EditableRegionPolicySpec.js | 6 ++--- .../regions/test/InspectorControllerSpec.js | 6 ++--- platform/commonUI/regions/test/RegionSpec.js | 6 ++--- platform/commonUI/themes/espresso/bundle.js | 6 ++--- .../espresso/res/sass/theme-espresso.scss | 6 ++--- platform/commonUI/themes/snow/bundle.js | 6 ++--- .../themes/snow/res/sass/theme-snow.scss | 6 ++--- platform/containment/bundle.js | 6 ++--- platform/containment/src/CapabilityTable.js | 6 ++--- .../containment/src/ComposeActionPolicy.js | 6 ++--- .../src/CompositionMutabilityPolicy.js | 6 ++--- platform/containment/src/CompositionPolicy.js | 6 ++--- platform/containment/src/ContainmentTable.js | 6 ++--- .../containment/test/CapabilityTableSpec.js | 6 ++--- .../test/ComposeActionPolicySpec.js | 6 ++--- .../test/CompositionMutabilityPolicySpec.js | 6 ++--- .../containment/test/CompositionPolicySpec.js | 6 ++--- .../containment/test/ContainmentTableSpec.js | 6 ++--- platform/core/README.md | 2 +- platform/core/bundle.js | 10 +++---- platform/core/src/actions/ActionAggregator.js | 6 ++--- platform/core/src/actions/ActionCapability.js | 6 ++--- platform/core/src/actions/ActionProvider.js | 6 ++--- .../src/actions/LoggingActionDecorator.js | 6 ++--- .../src/capabilities/CompositionCapability.js | 6 ++--- .../src/capabilities/ContextCapability.js | 6 ++--- .../capabilities/ContextualDomainObject.js | 6 ++--- .../capabilities/CoreCapabilityProvider.js | 6 ++--- .../src/capabilities/DelegationCapability.js | 6 ++--- .../capabilities/InstantiationCapability.js | 6 ++--- .../src/capabilities/MutationCapability.js | 6 ++--- .../src/capabilities/PersistenceCapability.js | 6 ++--- .../capabilities/RelationshipCapability.js | 6 ++--- platform/core/src/identifiers/Identifier.js | 6 ++--- .../src/identifiers/IdentifierProvider.js | 6 ++--- .../core/src/models/CachingModelDecorator.js | 6 ++--- .../core/src/models/MissingModelDecorator.js | 6 ++--- platform/core/src/models/ModelAggregator.js | 6 ++--- platform/core/src/models/ModelCacheService.js | 6 ++--- .../core/src/models/PersistedModelProvider.js | 6 ++--- platform/core/src/models/RootModelProvider.js | 6 ++--- .../core/src/models/StaticModelProvider.js | 6 ++--- platform/core/src/objects/DomainObjectImpl.js | 6 ++--- .../core/src/objects/DomainObjectProvider.js | 8 +++--- platform/core/src/services/Contextualize.js | 6 ++--- platform/core/src/services/Instantiate.js | 6 ++--- platform/core/src/services/Now.js | 6 ++--- platform/core/src/services/Throttle.js | 6 ++--- platform/core/src/services/Topic.js | 6 ++--- platform/core/src/types/MergeModels.js | 6 ++--- platform/core/src/types/TypeCapability.js | 6 ++--- platform/core/src/types/TypeImpl.js | 6 ++--- platform/core/src/types/TypeProperty.js | 6 ++--- .../core/src/types/TypePropertyConversion.js | 6 ++--- platform/core/src/types/TypeProvider.js | 8 +++--- platform/core/src/views/ViewCapability.js | 6 ++--- platform/core/src/views/ViewProvider.js | 6 ++--- .../core/test/actions/ActionAggregatorSpec.js | 6 ++--- .../core/test/actions/ActionCapabilitySpec.js | 6 ++--- .../core/test/actions/ActionProviderSpec.js | 6 ++--- .../actions/LoggingActionDecoratorSpec.js | 6 ++--- .../capabilities/CompositionCapabilitySpec.js | 6 ++--- .../capabilities/ContextCapabilitySpec.js | 6 ++--- .../ContextualDomainObjectSpec.js | 6 ++--- .../CoreCapabilityProviderSpec.js | 6 ++--- .../capabilities/DelegationCapabilitySpec.js | 6 ++--- .../InstantiationCapabilitySpec.js | 6 ++--- .../capabilities/MetadataCapabilitySpec.js | 6 ++--- .../capabilities/MutationCapabilitySpec.js | 6 ++--- .../capabilities/PersistenceCapabilitySpec.js | 6 ++--- .../RelationshipCapabilitySpec.js | 6 ++--- .../identifiers/IdentifierProviderSpec.js | 6 ++--- .../core/test/identifiers/IdentifierSpec.js | 6 ++--- .../test/models/CachingModelDecoratorSpec.js | 6 ++--- .../test/models/MissingModelDecoratorSpec.js | 6 ++--- .../core/test/models/ModelAggregatorSpec.js | 6 ++--- .../core/test/models/ModelCacheServiceSpec.js | 6 ++--- .../test/models/PersistedModelProviderSpec.js | 6 ++--- .../core/test/models/RootModelProviderSpec.js | 6 ++--- .../test/models/StaticModelProviderSpec.js | 6 ++--- .../test/objects/DomainObjectProviderSpec.js | 6 ++--- .../core/test/objects/DomainObjectSpec.js | 6 ++--- .../core/test/services/ContextualizeSpec.js | 6 ++--- .../core/test/services/InstantiateSpec.js | 6 ++--- platform/core/test/services/NowSpec.js | 6 ++--- platform/core/test/services/ThrottleSpec.js | 6 ++--- platform/core/test/services/TopicSpec.js | 6 ++--- platform/core/test/types/MergeModelsSpec.js | 6 ++--- .../core/test/types/TypeCapabilitySpec.js | 6 ++--- platform/core/test/types/TypeImplSpec.js | 6 ++--- .../test/types/TypePropertyConversionSpec.js | 6 ++--- platform/core/test/types/TypePropertySpec.js | 6 ++--- platform/core/test/types/TypeProviderSpec.js | 6 ++--- .../core/test/views/ViewCapabilitySpec.js | 6 ++--- platform/core/test/views/ViewProviderSpec.js | 6 ++--- platform/data/README.md | 2 +- platform/entanglement/bundle.js | 6 ++--- .../src/actions/AbstractComposeAction.js | 6 ++--- .../entanglement/src/actions/CopyAction.js | 6 ++--- .../src/actions/GoToOriginalAction.js | 6 ++--- .../entanglement/src/actions/LinkAction.js | 6 ++--- .../entanglement/src/actions/MoveAction.js | 6 ++--- .../src/actions/SetPrimaryLocationAction.js | 6 ++--- .../src/capabilities/LocationCapability.js | 6 ++--- .../entanglement/src/policies/CopyPolicy.js | 6 ++--- .../src/policies/CrossSpacePolicy.js | 6 ++--- .../entanglement/src/policies/MovePolicy.js | 6 ++--- .../entanglement/src/services/CopyService.js | 6 ++--- .../entanglement/src/services/CopyTask.js | 6 ++--- .../entanglement/src/services/LinkService.js | 6 ++--- .../src/services/LocatingCreationDecorator.js | 6 ++--- .../src/services/LocatingObjectDecorator.js | 6 ++--- .../src/services/LocationService.js | 6 ++--- .../entanglement/src/services/MoveService.js | 6 ++--- .../entanglement/test/ControlledPromise.js | 6 ++--- .../entanglement/test/DomainObjectFactory.js | 6 ++--- .../test/actions/AbstractComposeActionSpec.js | 6 ++--- .../test/actions/CopyActionSpec.js | 6 ++--- .../test/actions/GoToOriginalActionSpec.js | 6 ++--- .../test/actions/LinkActionSpec.js | 6 ++--- .../test/actions/MoveActionSpec.js | 6 ++--- .../actions/SetPrimaryLocationActionSpec.js | 6 ++--- .../capabilities/LocationCapabilitySpec.js | 6 ++--- .../test/policies/CopyPolicySpec.js | 6 ++--- .../test/policies/CrossSpacePolicySpec.js | 6 ++--- .../test/policies/MovePolicySpec.js | 6 ++--- .../test/services/CopyServiceSpec.js | 6 ++--- .../test/services/CopyTaskSpec.js | 6 ++--- .../test/services/LinkServiceSpec.js | 6 ++--- .../services/LocatingCreationDecoratorSpec.js | 6 ++--- .../services/LocatingObjectDecoratorSpec.js | 6 ++--- .../test/services/LocationServiceSpec.js | 6 ++--- .../test/services/MockCopyService.js | 6 ++--- .../test/services/MockLinkService.js | 6 ++--- .../test/services/MockMoveService.js | 6 ++--- .../test/services/MoveServiceSpec.js | 6 ++--- platform/execution/bundle.js | 6 ++--- platform/execution/src/WorkerService.js | 6 ++--- platform/execution/test/WorkerServiceSpec.js | 6 ++--- platform/exporters/ExportService.js | 6 ++--- platform/exporters/ExportServiceSpec.js | 6 ++--- platform/exporters/bundle.js | 6 ++--- platform/features/README.md | 2 +- platform/features/clock/bundle.js | 6 ++--- .../features/clock/res/templates/clock.html | 6 ++--- .../features/clock/res/templates/timer.html | 6 ++--- .../src/actions/AbstractStartTimerAction.js | 6 ++--- .../clock/src/actions/RestartTimerAction.js | 6 ++--- .../clock/src/actions/StartTimerAction.js | 6 ++--- .../clock/src/controllers/ClockController.js | 6 ++--- .../src/controllers/RefreshingController.js | 6 ++--- .../clock/src/controllers/TimerController.js | 6 ++--- .../clock/src/controllers/TimerFormatter.js | 6 ++--- .../clock/src/indicators/ClockIndicator.js | 6 ++--- .../clock/src/services/TickerService.js | 6 ++--- .../actions/AbstractStartTimerActionSpec.js | 6 ++--- .../test/actions/RestartTimerActionSpec.js | 6 ++--- .../test/actions/StartTimerActionSpec.js | 6 ++--- .../test/controllers/ClockControllerSpec.js | 6 ++--- .../controllers/RefreshingControllerSpec.js | 6 ++--- .../test/controllers/TimerControllerSpec.js | 6 ++--- .../test/controllers/TimerFormatterSpec.js | 6 ++--- .../test/indicators/ClockIndicatorSpec.js | 6 ++--- .../clock/test/services/TickerServiceSpec.js | 6 ++--- platform/features/conductor/bundle.js | 6 ++--- .../conductor/src/ConductorRepresenter.js | 6 ++--- .../conductor/src/ConductorService.js | 6 ++--- .../src/ConductorTelemetryDecorator.js | 6 ++--- .../features/conductor/src/TimeConductor.js | 6 ++--- .../test/ConductorRepresenterSpec.js | 6 ++--- .../conductor/test/ConductorServiceSpec.js | 6 ++--- .../test/ConductorTelemetryDecoratorSpec.js | 6 ++--- .../conductor/test/TestTimeConductor.js | 6 ++--- .../conductor/test/TimeConductorSpec.js | 6 ++--- platform/features/imagery/bundle.js | 6 ++--- .../src/controllers/ImageryController.js | 6 ++--- .../src/directives/MCTBackgroundImage.js | 6 ++--- .../imagery/src/policies/ImageryViewPolicy.js | 6 ++--- .../test/controllers/ImageryControllerSpec.js | 6 ++--- .../test/directives/MCTBackgroundImageSpec.js | 6 ++--- .../test/policies/ImageryViewPolicySpec.js | 6 ++--- platform/features/layout/bundle.js | 6 ++--- .../layout/res/templates/elements/box.html | 6 ++--- .../layout/res/templates/elements/image.html | 6 ++--- .../layout/res/templates/elements/line.html | 6 ++--- .../res/templates/elements/telemetry.html | 6 ++--- .../layout/res/templates/elements/text.html | 6 ++--- .../features/layout/res/templates/fixed.html | 6 ++--- .../features/layout/res/templates/frame.html | 6 ++--- .../features/layout/res/templates/layout.html | 6 ++--- .../features/layout/src/FixedController.js | 6 ++--- .../features/layout/src/FixedDragHandle.js | 6 ++--- platform/features/layout/src/FixedProxy.js | 6 ++--- .../layout/src/LayoutCompositionPolicy.js | 6 ++--- .../features/layout/src/LayoutController.js | 6 ++--- platform/features/layout/src/LayoutDrag.js | 6 ++--- .../layout/src/elements/AccessorMutator.js | 6 ++--- .../features/layout/src/elements/BoxProxy.js | 6 ++--- .../layout/src/elements/ElementFactory.js | 6 ++--- .../layout/src/elements/ElementProxies.js | 6 ++--- .../layout/src/elements/ElementProxy.js | 6 ++--- .../layout/src/elements/ImageProxy.js | 6 ++--- .../layout/src/elements/LineHandle.js | 6 ++--- .../features/layout/src/elements/LineProxy.js | 6 ++--- .../layout/src/elements/ResizeHandle.js | 6 ++--- .../layout/src/elements/TelemetryProxy.js | 6 ++--- .../features/layout/src/elements/TextProxy.js | 6 ++--- .../layout/test/FixedControllerSpec.js | 6 ++--- .../layout/test/FixedDragHandleSpec.js | 6 ++--- .../features/layout/test/FixedProxySpec.js | 6 ++--- .../test/LayoutCompositionPolicySpec.js | 6 ++--- .../layout/test/LayoutControllerSpec.js | 6 ++--- .../features/layout/test/LayoutDragSpec.js | 6 ++--- .../test/elements/AccessorMutatorSpec.js | 6 ++--- .../layout/test/elements/BoxProxySpec.js | 6 ++--- .../test/elements/ElementFactorySpec.js | 6 ++--- .../test/elements/ElementProxiesSpec.js | 6 ++--- .../layout/test/elements/ElementProxySpec.js | 6 ++--- .../layout/test/elements/ImageProxySpec.js | 6 ++--- .../layout/test/elements/LineHandleSpec.js | 6 ++--- .../layout/test/elements/LineProxySpec.js | 6 ++--- .../layout/test/elements/ResizeHandleSpec.js | 6 ++--- .../test/elements/TelemetryProxySpec.js | 6 ++--- .../layout/test/elements/TextProxySpec.js | 6 ++--- platform/features/pages/bundle.js | 6 ++--- platform/features/pages/res/iframe.html | 6 ++--- .../pages/src/EmbeddedPageController.js | 6 ++--- .../pages/test/EmbeddedPageControllerSpec.js | 6 ++--- platform/features/plot/bundle.js | 6 ++--- .../res/templates/plot-options-browse.html | 6 ++--- .../features/plot/res/templates/plot.html | 6 ++--- platform/features/plot/src/Canvas2DChart.js | 6 ++--- platform/features/plot/src/GLChart.js | 6 ++--- platform/features/plot/src/MCTChart.js | 6 ++--- platform/features/plot/src/PlotController.js | 6 ++--- .../plot/src/PlotOptionsController.js | 6 ++--- platform/features/plot/src/PlotOptionsForm.js | 6 ++--- platform/features/plot/src/SubPlot.js | 6 ++--- platform/features/plot/src/SubPlotFactory.js | 6 ++--- .../features/plot/src/elements/PlotAxis.js | 6 ++--- .../plot/src/elements/PlotLimitTracker.js | 6 ++--- .../features/plot/src/elements/PlotLine.js | 6 ++--- .../plot/src/elements/PlotLineBuffer.js | 6 ++--- .../features/plot/src/elements/PlotPalette.js | 6 ++--- .../plot/src/elements/PlotPanZoomStack.js | 6 ++--- .../src/elements/PlotPanZoomStackGroup.js | 6 ++--- .../plot/src/elements/PlotPosition.js | 6 ++--- .../plot/src/elements/PlotPreparer.js | 6 ++--- .../plot/src/elements/PlotSeriesWindow.js | 6 ++--- .../src/elements/PlotTelemetryFormatter.js | 6 ++--- .../plot/src/elements/PlotTickGenerator.js | 6 ++--- .../features/plot/src/elements/PlotUpdater.js | 6 ++--- .../plot/src/modes/PlotModeOptions.js | 6 ++--- .../plot/src/modes/PlotOverlayMode.js | 6 ++--- .../features/plot/src/modes/PlotStackMode.js | 6 ++--- .../plot/src/policies/PlotViewPolicy.js | 6 ++--- .../features/plot/test/Canvas2DChartSpec.js | 6 ++--- platform/features/plot/test/GLChartSpec.js | 6 ++--- platform/features/plot/test/MCTChartSpec.js | 6 ++--- .../features/plot/test/PlotControllerSpec.js | 6 ++--- .../plot/test/PlotOptionsControllerSpec.js | 6 ++--- .../features/plot/test/PlotOptionsFormSpec.js | 6 ++--- .../features/plot/test/SubPlotFactorySpec.js | 6 ++--- platform/features/plot/test/SubPlotSpec.js | 6 ++--- .../plot/test/elements/PlotAxisSpec.js | 6 ++--- .../test/elements/PlotLimitTrackerSpec.js | 6 ++--- .../plot/test/elements/PlotLineBufferSpec.js | 6 ++--- .../plot/test/elements/PlotLineSpec.js | 6 ++--- .../plot/test/elements/PlotPaletteSpec.js | 6 ++--- .../elements/PlotPanZoomStackGroupSpec.js | 6 ++--- .../test/elements/PlotPanZoomStackSpec.js | 6 ++--- .../plot/test/elements/PlotPositionSpec.js | 6 ++--- .../plot/test/elements/PlotPreparerSpec.js | 6 ++--- .../test/elements/PlotSeriesWindowSpec.js | 6 ++--- .../elements/PlotTelemetryFormatterSpec.js | 6 ++--- .../test/elements/PlotTickGeneratorSpec.js | 6 ++--- .../plot/test/elements/PlotUpdaterSpec.js | 6 ++--- .../plot/test/modes/PlotModeOptionsSpec.js | 6 ++--- .../plot/test/modes/PlotOverlayModeSpec.js | 6 ++--- .../plot/test/modes/PlotStackModeSpec.js | 6 ++--- .../plot/test/policies/PlotViewPolicySpec.js | 6 ++--- platform/features/static-markup/bundle.js | 6 ++--- platform/features/table/bundle.js | 6 ++--- platform/features/table/res/sass/table.scss | 6 ++--- .../res/templates/table-options-edit.html | 6 ++--- platform/features/table/src/DomainColumn.js | 6 ++--- platform/features/table/src/NameColumn.js | 6 ++--- platform/features/table/src/RangeColumn.js | 6 ++--- .../features/table/src/TableConfiguration.js | 6 ++--- .../controllers/HistoricalTableController.js | 6 ++--- .../controllers/RealtimeTableController.js | 6 ++--- .../src/controllers/TableOptionsController.js | 6 ++--- .../controllers/TelemetryTableController.js | 6 ++--- .../features/table/src/directives/MCTTable.js | 6 ++--- .../features/table/test/DomainColumnSpec.js | 6 ++--- .../features/table/test/NameColumnSpec.js | 6 ++--- .../features/table/test/RangeColumnSpec.js | 6 ++--- .../table/test/TableConfigurationSpec.js | 6 ++--- .../HistoricalTableControllerSpec.js | 6 ++--- .../controllers/MCTTableControllerSpec.js | 6 ++--- .../RealtimeTableControllerSpec.js | 6 ++--- .../controllers/TableOptionsControllerSpec.js | 6 ++--- platform/features/timeline/bundle.js | 6 ++--- .../res/sass/_constants-espresso.scss | 6 ++--- .../timeline/res/sass/_constants-snow.scss | 6 ++--- .../timeline/res/sass/_constants.scss | 6 ++--- .../timeline/res/sass/_timeline-thematic.scss | 6 ++--- .../timeline/res/sass/_timelines.scss | 6 ++--- .../timeline/res/sass/timeline-espresso.scss | 6 ++--- .../timeline/res/sass/timeline-snow.scss | 6 ++--- .../features/timeline/res/sass/timeline.scss | 6 ++--- .../res/templates/activity-gantt.html | 6 ++--- .../res/templates/controls/datetime.html | 6 ++--- .../timeline/res/templates/legend-item.html | 6 ++--- .../res/templates/resource-graph-labels.html | 6 ++--- .../res/templates/resource-graphs.html | 6 ++--- .../templates/tabular-swimlane-cols-data.html | 6 ++--- .../templates/tabular-swimlane-cols-tree.html | 6 ++--- .../timeline/res/templates/ticks.html | 6 ++--- .../timeline/res/templates/timeline.html | 6 ++--- .../timeline/res/templates/values.html | 6 ++--- .../timeline/src/TimelineConstants.js | 6 ++--- .../timeline/src/TimelineFormatter.js | 6 ++--- .../timeline/src/actions/CompositionColumn.js | 6 ++--- .../src/actions/ExportTimelineAsCSVAction.js | 6 ++--- .../src/actions/ExportTimelineAsCSVTask.js | 6 ++--- .../features/timeline/src/actions/IdColumn.js | 6 ++--- .../timeline/src/actions/MetadataColumn.js | 6 ++--- .../timeline/src/actions/ModeColumn.js | 6 ++--- .../src/actions/TimelineColumnizer.js | 6 ++--- .../timeline/src/actions/TimelineTraverser.js | 6 ++--- .../timeline/src/actions/TimespanColumn.js | 6 ++--- .../timeline/src/actions/UtilizationColumn.js | 6 ++--- .../src/capabilities/ActivityTimespan.js | 6 ++--- .../ActivityTimespanCapability.js | 6 ++--- .../src/capabilities/ActivityUtilization.js | 6 ++--- .../src/capabilities/CostCapability.js | 6 ++--- .../src/capabilities/CumulativeGraph.js | 6 ++--- .../src/capabilities/GraphCapability.js | 6 ++--- .../src/capabilities/ResourceGraph.js | 6 ++--- .../src/capabilities/TimelineTimespan.js | 6 ++--- .../TimelineTimespanCapability.js | 6 ++--- .../src/capabilities/TimelineUtilization.js | 6 ++--- .../src/capabilities/UtilizationCapability.js | 6 ++--- .../ActivityModeValuesController.js | 6 ++--- .../src/controllers/TimelineController.js | 6 ++--- .../controllers/TimelineDateTimeController.js | 6 ++--- .../controllers/TimelineGanttController.js | 6 ++--- .../controllers/TimelineGraphController.js | 6 ++--- .../controllers/TimelineTableController.js | 6 ++--- .../src/controllers/TimelineTickController.js | 6 ++--- .../src/controllers/TimelineZoomController.js | 6 ++--- .../drag/TimelineDragHandleFactory.js | 6 ++--- .../controllers/drag/TimelineDragHandler.js | 6 ++--- .../controllers/drag/TimelineDragPopulator.js | 6 ++--- .../src/controllers/drag/TimelineEndHandle.js | 6 ++--- .../controllers/drag/TimelineMoveHandle.js | 6 ++--- .../controllers/drag/TimelineSnapHandler.js | 6 ++--- .../controllers/drag/TimelineStartHandle.js | 6 ++--- .../src/controllers/graph/TimelineGraph.js | 6 ++--- .../graph/TimelineGraphPopulator.js | 6 ++--- .../graph/TimelineGraphRenderer.js | 6 ++--- .../swimlane/TimelineColorAssigner.js | 6 ++--- .../src/controllers/swimlane/TimelineProxy.js | 6 ++--- .../controllers/swimlane/TimelineSwimlane.js | 6 ++--- .../swimlane/TimelineSwimlaneDecorator.js | 6 ++--- .../swimlane/TimelineSwimlaneDropHandler.js | 6 ++--- .../swimlane/TimelineSwimlanePopulator.js | 6 ++--- .../src/directives/MCTSwimlaneDrag.js | 6 ++--- .../src/directives/MCTSwimlaneDrop.js | 6 ++--- .../src/directives/SwimlaneDragConstants.js | 6 ++--- .../timeline/src/services/ObjectLoader.js | 6 ++--- .../timeline/test/TimelineConstantsSpec.js | 6 ++--- .../timeline/test/TimelineFormatterSpec.js | 6 ++--- .../test/actions/CompositionColumnSpec.js | 6 ++--- .../actions/ExportTimelineAsCSVActionSpec.js | 6 ++--- .../actions/ExportTimelineAsCSVTaskSpec.js | 6 ++--- .../timeline/test/actions/IdColumnSpec.js | 6 ++--- .../test/actions/MetadataColumnSpec.js | 6 ++--- .../timeline/test/actions/ModeColumnSpec.js | 6 ++--- .../test/actions/TimelineColumnizerSpec.js | 6 ++--- .../test/actions/TimelineTraverserSpec.js | 6 ++--- .../test/actions/TimespanColumnSpec.js | 6 ++--- .../ActivityTimespanCapabilitySpec.js | 6 ++--- .../test/capabilities/ActivityTimespanSpec.js | 6 ++--- .../capabilities/ActivityUtilizationSpec.js | 6 ++--- .../test/capabilities/CostCapabilitySpec.js | 6 ++--- .../test/capabilities/CumulativeGraphSpec.js | 6 ++--- .../test/capabilities/GraphCapabilitySpec.js | 6 ++--- .../test/capabilities/ResourceGraphSpec.js | 6 ++--- .../TimelineTimespanCapabilitySpec.js | 6 ++--- .../test/capabilities/TimelineTimespanSpec.js | 6 ++--- .../capabilities/TimelineUtilizationSpec.js | 6 ++--- .../capabilities/UtilizationCapabilitySpec.js | 6 ++--- .../ActivityModeValuesControllerSpec.js | 6 ++--- .../controllers/TimelineControllerSpec.js | 6 ++--- .../TimelineDateTimeControllerSpec.js | 6 ++--- .../TimelineGanttControllerSpec.js | 6 ++--- .../TimelineGraphControllerSpec.js | 6 ++--- .../TimelineTableControllerSpec.js | 6 ++--- .../controllers/TimelineTickControllerSpec.js | 6 ++--- .../controllers/TimelineZoomControllerSpec.js | 6 ++--- .../drag/TimelineDragHandleFactorySpec.js | 6 ++--- .../drag/TimelineDragHandlerSpec.js | 6 ++--- .../drag/TimelineDragPopulatorSpec.js | 6 ++--- .../controllers/drag/TimelineEndHandleSpec.js | 6 ++--- .../drag/TimelineMoveHandleSpec.js | 6 ++--- .../drag/TimelineSnapHandlerSpec.js | 6 ++--- .../drag/TimelineStartHandleSpec.js | 6 ++--- .../graph/TimelineGraphPopulatorSpec.js | 6 ++--- .../graph/TimelineGraphRendererSpec.js | 6 ++--- .../controllers/graph/TimelineGraphSpec.js | 6 ++--- .../swimlane/TimelineColorAssignerSpec.js | 6 ++--- .../controllers/swimlane/TimelineProxySpec.js | 6 ++--- .../swimlane/TimelineSwimlaneDecoratorSpec.js | 6 ++--- .../TimelineSwimlaneDropHandlerSpec.js | 6 ++--- .../swimlane/TimelineSwimlanePopulatorSpec.js | 6 ++--- .../swimlane/TimelineSwimlaneSpec.js | 6 ++--- .../test/directives/MCTSwimlaneDragSpec.js | 6 ++--- .../test/directives/MCTSwimlaneDropSpec.js | 6 ++--- .../directives/SwimlaneDragConstantsSpec.js | 6 ++--- .../test/services/ObjectLoaderSpec.js | 6 ++--- platform/forms/README.md | 2 +- platform/forms/bundle.js | 6 ++--- .../forms/res/templates/controls/button.html | 6 ++--- .../res/templates/controls/checkbox.html | 6 ++--- .../forms/res/templates/controls/color.html | 6 ++--- .../res/templates/controls/composite.html | 6 ++--- .../res/templates/controls/datetime.html | 6 ++--- .../forms/res/templates/controls/dialog.html | 6 ++--- .../res/templates/controls/menu-button.html | 6 ++--- .../forms/res/templates/controls/radio.html | 6 ++--- .../forms/res/templates/controls/select.html | 6 ++--- .../res/templates/controls/textfield.html | 6 ++--- platform/forms/res/templates/form.html | 6 ++--- platform/forms/res/templates/toolbar.html | 6 ++--- platform/forms/src/MCTControl.js | 6 ++--- platform/forms/src/MCTForm.js | 6 ++--- platform/forms/src/MCTToolbar.js | 6 ++--- .../forms/src/controllers/ColorController.js | 6 ++--- .../src/controllers/CompositeController.js | 6 ++--- .../src/controllers/DateTimeController.js | 6 ++--- .../src/controllers/DialogButtonController.js | 6 ++--- .../forms/src/controllers/FormController.js | 6 ++--- platform/forms/test/MCTControlSpec.js | 6 ++--- platform/forms/test/MCTFormSpec.js | 6 ++--- platform/forms/test/MCTToolbarSpec.js | 6 ++--- .../test/controllers/ColorControllerSpec.js | 6 ++--- .../controllers/CompositeControllerSpec.js | 6 ++--- .../controllers/DateTimeControllerSpec.js | 6 ++--- .../controllers/DialogButtonControllerSpec.js | 6 ++--- .../test/controllers/FormControllerSpec.js | 6 ++--- platform/framework/README.md | 2 +- platform/framework/bundle.js | 10 +++---- platform/framework/src/Constants.js | 6 ++--- .../framework/src/FrameworkInitializer.js | 6 ++--- platform/framework/src/FrameworkLayer.js | 6 ++--- platform/framework/src/LogLevel.js | 6 ++--- platform/framework/src/Main.js | 6 ++--- .../src/bootstrap/ApplicationBootstrapper.js | 6 ++--- platform/framework/src/load/Bundle.js | 6 ++--- platform/framework/src/load/BundleLoader.js | 6 ++--- platform/framework/src/load/Extension.js | 6 ++--- .../src/register/CustomRegistrars.js | 6 ++--- .../src/register/ExtensionRegistrar.js | 6 ++--- .../framework/src/register/ExtensionSorter.js | 6 ++--- .../src/register/PartialConstructor.js | 6 ++--- .../src/register/ServiceCompositor.js | 6 ++--- .../framework/src/resolve/BundleResolver.js | 6 ++--- .../src/resolve/ExtensionResolver.js | 6 ++--- .../src/resolve/ImplementationLoader.js | 6 ++--- .../src/resolve/RequireConfigurator.js | 6 ++--- .../test/FrameworkInitializerSpec.js | 6 ++--- platform/framework/test/LogLevelSpec.js | 6 ++--- .../bootstrap/ApplicationBootstrapperSpec.js | 6 ++--- .../framework/test/load/BundleLoaderSpec.js | 6 ++--- platform/framework/test/load/BundleSpec.js | 6 ++--- platform/framework/test/load/ExtensionSpec.js | 6 ++--- .../test/register/CustomRegistrarsSpec.js | 6 ++--- .../test/register/ExtensionRegistrarSpec.js | 6 ++--- .../test/register/ExtensionSorterSpec.js | 6 ++--- .../test/register/PartialConstructorSpec.js | 6 ++--- .../test/register/ServiceCompositorSpec.js | 6 ++--- .../test/resolve/BundleResolverSpec.js | 6 ++--- .../test/resolve/ExtensionResolverSpec.js | 6 ++--- .../test/resolve/ImplementationLoaderSpec.js | 6 ++--- .../test/resolve/RequireConfiguratorSpec.js | 6 ++--- platform/identity/README.md | 2 +- platform/identity/bundle.js | 6 ++--- platform/identity/src/IdentityAggregator.js | 6 ++--- .../identity/src/IdentityCreationDecorator.js | 6 ++--- platform/identity/src/IdentityIndicator.js | 6 ++--- platform/identity/src/IdentityProvider.js | 6 ++--- .../identity/test/IdentityAggregatorSpec.js | 6 ++--- .../test/IdentityCreationDecoratorSpec.js | 6 ++--- .../identity/test/IdentityIndicatorSpec.js | 6 ++--- .../identity/test/IdentityProviderSpec.js | 6 ++--- platform/persistence/aggregator/bundle.js | 6 ++--- .../aggregator/src/PersistenceAggregator.js | 6 ++--- .../test/PersistenceAggregatorSpec.js | 6 ++--- platform/persistence/couch/README.md | 2 +- platform/persistence/couch/bundle.js | 6 ++--- .../persistence/couch/src/CouchDocument.js | 6 ++--- .../persistence/couch/src/CouchIndicator.js | 6 ++--- .../couch/src/CouchPersistenceProvider.js | 6 ++--- .../couch/test/CouchDocumentSpec.js | 6 ++--- .../couch/test/CouchIndicatorSpec.js | 6 ++--- .../test/CouchPersistenceProviderSpec.js | 6 ++--- platform/persistence/elastic/README.md | 2 +- platform/persistence/elastic/bundle.js | 6 ++--- .../elastic/src/ElasticIndicator.js | 6 ++--- .../elastic/src/ElasticPersistenceProvider.js | 6 ++--- .../elastic/src/ElasticSearchProvider.js | 6 ++--- .../elastic/test/ElasticIndicatorSpec.js | 6 ++--- .../test/ElasticPersistenceProviderSpec.js | 6 ++--- .../elastic/test/ElasticSearchProviderSpec.js | 6 ++--- platform/persistence/local/bundle.js | 6 ++--- .../local/src/LocalStorageIndicator.js | 6 ++--- .../src/LocalStoragePersistenceProvider.js | 6 ++--- .../local/test/LocalStorageIndicatorSpec.js | 6 ++--- .../LocalStoragePersistenceProviderSpec.js | 6 ++--- platform/persistence/queue/bundle.js | 6 ++--- .../templates/persistence-failure-dialog.html | 6 ++--- .../queue/src/PersistenceFailureConstants.js | 6 ++--- .../queue/src/PersistenceFailureController.js | 6 ++--- .../queue/src/PersistenceFailureDialog.js | 6 ++--- .../queue/src/PersistenceFailureHandler.js | 6 ++--- .../persistence/queue/src/PersistenceQueue.js | 6 ++--- .../queue/src/PersistenceQueueHandler.js | 6 ++--- .../queue/src/PersistenceQueueImpl.js | 6 ++--- .../queue/src/QueuingPersistenceCapability.js | 6 ++--- .../QueuingPersistenceCapabilityDecorator.js | 6 ++--- .../test/PersistenceFailureConstantsSpec.js | 6 ++--- .../test/PersistenceFailureControllerSpec.js | 6 ++--- .../test/PersistenceFailureDialogSpec.js | 6 ++--- .../test/PersistenceFailureHandlerSpec.js | 6 ++--- .../queue/test/PersistenceQueueHandlerSpec.js | 6 ++--- .../queue/test/PersistenceQueueImplSpec.js | 6 ++--- .../queue/test/PersistenceQueueSpec.js | 6 ++--- ...euingPersistenceCapabilityDecoratorSpec.js | 6 ++--- .../test/QueuingPersistenceCapabilitySpec.js | 6 ++--- platform/policy/README.md | 2 +- platform/policy/bundle.js | 6 ++--- platform/policy/src/PolicyActionDecorator.js | 6 ++--- platform/policy/src/PolicyProvider.js | 6 ++--- platform/policy/src/PolicyViewDecorator.js | 6 ++--- .../policy/test/PolicyActionDecoratorSpec.js | 6 ++--- platform/policy/test/PolicyProviderSpec.js | 6 ++--- .../policy/test/PolicyViewDecoratorSpec.js | 6 ++--- platform/representation/README.md | 2 +- platform/representation/bundle.js | 6 ++--- platform/representation/src/MCTInclude.js | 6 ++--- .../representation/src/MCTRepresentation.js | 6 ++--- platform/representation/src/TemplateLinker.js | 6 ++--- .../representation/src/TemplatePrefetcher.js | 6 ++--- .../src/actions/ContextMenuAction.js | 6 ++--- .../src/gestures/ContextMenuGesture.js | 6 ++--- .../src/gestures/DragGesture.js | 6 ++--- .../src/gestures/DropGesture.js | 6 ++--- .../src/gestures/GestureConstants.js | 6 ++--- .../src/gestures/GestureProvider.js | 6 ++--- .../src/gestures/GestureRepresenter.js | 6 ++--- .../representation/src/services/DndService.js | 6 ++--- .../representation/test/MCTIncludeSpec.js | 6 ++--- .../test/MCTRepresentationSpec.js | 6 ++--- .../representation/test/TemplateLinkerSpec.js | 6 ++--- .../test/TemplatePrefetcherSpec.js | 6 ++--- .../test/actions/ContextMenuActionSpec.js | 6 ++--- .../test/gestures/ContextMenuGestureSpec.js | 6 ++--- .../test/gestures/DragGestureSpec.js | 6 ++--- .../test/gestures/DropGestureSpec.js | 6 ++--- .../test/gestures/GestureProviderSpec.js | 6 ++--- .../test/gestures/GestureRepresenterSpec.js | 6 ++--- .../test/services/DndServiceSpec.js | 6 ++--- platform/search/bundle.js | 6 ++--- .../search/res/templates/search-item.html | 6 ++--- .../search/res/templates/search-menu.html | 6 ++--- platform/search/res/templates/search.html | 6 ++--- .../src/controllers/SearchController.js | 6 ++--- .../src/controllers/SearchMenuController.js | 6 ++--- .../src/services/GenericSearchProvider.js | 6 ++--- .../src/services/GenericSearchWorker.js | 6 ++--- .../search/src/services/SearchAggregator.js | 6 ++--- .../test/controllers/SearchControllerSpec.js | 6 ++--- .../controllers/SearchMenuControllerSpec.js | 6 ++--- .../services/GenericSearchProviderSpec.js | 6 ++--- .../test/services/GenericSearchWorkerSpec.js | 6 ++--- .../test/services/SearchAggregatorSpec.js | 6 ++--- platform/status/bundle.js | 6 ++--- platform/status/src/StatusCapability.js | 6 ++--- platform/status/src/StatusConstants.js | 6 ++--- platform/status/src/StatusRepresenter.js | 6 ++--- platform/status/src/StatusService.js | 6 ++--- platform/status/test/StatusCapabilitySpec.js | 6 ++--- platform/status/test/StatusRepresenterSpec.js | 6 ++--- platform/status/test/StatusServiceSpec.js | 6 ++--- platform/telemetry/README.md | 2 +- platform/telemetry/bundle.js | 6 ++--- platform/telemetry/src/TelemetryAggregator.js | 6 ++--- platform/telemetry/src/TelemetryCapability.js | 6 ++--- platform/telemetry/src/TelemetryController.js | 6 ++--- platform/telemetry/src/TelemetryDelegator.js | 6 ++--- platform/telemetry/src/TelemetryFormatter.js | 6 ++--- platform/telemetry/src/TelemetryHandle.js | 6 ++--- platform/telemetry/src/TelemetryHandler.js | 6 ++--- platform/telemetry/src/TelemetryQueue.js | 6 ++--- platform/telemetry/src/TelemetrySubscriber.js | 6 ++--- .../telemetry/src/TelemetrySubscription.js | 6 ++--- platform/telemetry/src/TelemetryTable.js | 6 ++--- .../telemetry/test/TelemetryAggregatorSpec.js | 6 ++--- .../telemetry/test/TelemetryCapabilitySpec.js | 6 ++--- .../telemetry/test/TelemetryControllerSpec.js | 6 ++--- .../telemetry/test/TelemetryDelegatorSpec.js | 6 ++--- .../telemetry/test/TelemetryFormatterSpec.js | 6 ++--- .../telemetry/test/TelemetryHandleSpec.js | 6 ++--- .../telemetry/test/TelemetryHandlerSpec.js | 6 ++--- platform/telemetry/test/TelemetryQueueSpec.js | 6 ++--- .../telemetry/test/TelemetrySubscriberSpec.js | 6 ++--- .../test/TelemetrySubscriptionSpec.js | 6 ++--- platform/telemetry/test/TelemetryTableSpec.js | 6 ++--- protractor/UI/DragDrop.js | 6 ++--- protractor/UI/Fullscreen.js | 6 ++--- protractor/UI/InfoBubble.js | 6 ++--- protractor/UI/NewWindow.js | 6 ++--- protractor/UI/RightClick.js | 6 ++--- protractor/common/Buttons.js | 6 ++--- protractor/common/CreateItem.js | 6 ++--- protractor/common/EditItem.js | 6 ++--- protractor/common/Launch.js | 6 ++--- protractor/common/RightMenu.js | 6 ++--- protractor/common/drag.js | 6 ++--- protractor/conf.js | 6 ++--- protractor/create/CreateActivity.js | 6 ++--- protractor/create/CreateActivityMode.js | 6 ++--- protractor/create/CreateButton.js | 6 ++--- protractor/create/CreateClock.js | 6 ++--- protractor/create/CreateDisplay.js | 6 ++--- protractor/create/CreateFolder.js | 6 ++--- protractor/create/CreateSineWave.js | 6 ++--- protractor/create/CreateTelemetry.js | 6 ++--- protractor/create/CreateTimeline.js | 6 ++--- protractor/create/CreateTimer.js | 6 ++--- protractor/create/CreateWebPage.js | 6 ++--- protractor/delete/DeleteActivity.js | 6 ++--- protractor/delete/DeleteActivityMode.js | 6 ++--- protractor/delete/DeleteClock.js | 6 ++--- protractor/delete/DeleteDisplay.js | 6 ++--- protractor/delete/DeleteFolder.js | 6 ++--- protractor/delete/DeleteTelemetry.js | 6 ++--- protractor/delete/DeleteTimeline.js | 6 ++--- protractor/delete/DeleteTimer.js | 6 ++--- protractor/delete/DeleteWebPage.js | 6 ++--- protractor/stressTest/StressTest.js | 6 ++--- protractor/stressTest/StressTestBubble.js | 6 ++--- .../stressTest/StressTestCreateButton.js | 6 ++--- protractor/stressTest/StressTestMenu.js | 6 ++--- protractor/stressTest/StressTestNewPage.js | 6 ++--- protractor/stressTest/StressTestRightClick.js | 6 ++--- scripts/migrate-for-jshint.js | 6 ++--- scripts/migrate-templates.js | 6 ++--- scripts/rebundle-template.txt | 6 ++--- src/BundleRegistry.js | 6 ++--- src/BundleRegistrySpec.js | 6 ++--- src/legacyRegistry.js | 6 ++--- src/legacyRegistrySpec.js | 6 ++--- test-main.js | 6 ++--- 1040 files changed, 3118 insertions(+), 3118 deletions(-) diff --git a/LICENSES.md b/LICENSES.md index b6044d3ac45..483a6e40729 100644 --- a/LICENSES.md +++ b/LICENSES.md @@ -1,12 +1,12 @@ -# Open MCT Web Licenses +# Open MCT Licenses -Open MCT Web, Copyright (c) 2014-2015, United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved. +Open MCT, Copyright (c) 2014-2016, United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved. -Open MCT Web is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. +Open MCT is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Open MCT Web includes source code licensed under additional open source licenses as follows. +Open MCT includes source code licensed under additional open source licenses as follows. ## Software Components Licenses diff --git a/build-docs.sh b/build-docs.sh index 87ada355243..ca7dc97c2e2 100755 --- a/build-docs.sh +++ b/build-docs.sh @@ -1,11 +1,11 @@ #!/bin/bash #***************************************************************************** -#* Open MCT Web, Copyright (c) 2014-2015, United States Government +#* Open MCT, Copyright (c) 2014-2016, United States Government #* as represented by the Administrator of the National Aeronautics and Space #* Administration. All rights reserved. #* -#* Open MCT Web is licensed under the Apache License, Version 2.0 (the +#* Open MCT is licensed under the Apache License, Version 2.0 (the #* "License"); you may not use this file except in compliance with the License. #* You may obtain a copy of the License at #* http://www.apache.org/licenses/LICENSE-2.0. @@ -16,7 +16,7 @@ #* License for the specific language governing permissions and limitations #* under the License. #* -#* Open MCT Web includes source code licensed under additional open source +#* Open MCT includes source code licensed under additional open source #* licenses. See the Open Source Licenses file (LICENSES.md) included with #* this source code distribution or the Licensing information page available #* at runtime from the About dialog for additional information. diff --git a/docs/gendocs.js b/docs/gendocs.js index 10facc0ded0..8d257625d02 100644 --- a/docs/gendocs.js +++ b/docs/gendocs.js @@ -1,9 +1,9 @@ /***************************************************************************** - * Open MCT Web, Copyright (c) 2014-2015, United States Government + * Open MCT, Copyright (c) 2014-2016, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * - * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * Open MCT is licensed under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0. @@ -14,7 +14,7 @@ * License for the specific language governing permissions and limitations * under the License. * - * Open MCT Web includes source code licensed under additional open source + * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. diff --git a/docs/src/design/planning/APIRefactor.md b/docs/src/design/planning/APIRefactor.md index 8f693cb8140..ec98a115f44 100644 --- a/docs/src/design/planning/APIRefactor.md +++ b/docs/src/design/planning/APIRefactor.md @@ -1,7 +1,7 @@ # API Refactoring This document summarizes a path toward implementing API changes -from the [API Redesign](../proposals/APIRedesign.md) for Open MCT Web +from the [API Redesign](../proposals/APIRedesign.md) for Open MCT v1.0.0. # Goals @@ -161,7 +161,7 @@ be included in a straightforward fashion. Some goals for this build step: -* Compile (and, preferably, optimize/minify) Open MCT Web +* Compile (and, preferably, optimize/minify) Open MCT sources into a single `.js` file. * It is desirable to do the same for HTML sources, but may wish to defer this until a subsequent refactoring @@ -170,7 +170,7 @@ Some goals for this build step: derivative projects in a straightforward fashion. Should also consider which dependency/packaging manager should -be used by dependent projects to obtain Open MCT Web. Approaches +be used by dependent projects to obtain Open MCT. Approaches include: 1. Plain `npm`. Dependents then declare their dependency with @@ -203,7 +203,7 @@ to use for asset generation/management and compilation/minification/etc. ## Step 3. Separate repositories -Refactor existing applications built on Open MCT Web such that they +Refactor existing applications built on Open MCT such that they are no longer forks, but instead separate projects with a dependency on the built artifacts from Step 2. @@ -211,7 +211,7 @@ Note that this is achievable already using `bower` (see `warp-bower` branch at http://developer.nasa.gov/mct/warp for an example.) However, changes involved in switching to an imperative API and introducing a build process may change (and should simplify) the -approach used to utilize Open MCT Web as a dependency, so these +approach used to utilize Open MCT as a dependency, so these changes should be introduced first. ## Step 4. Design registration API @@ -287,7 +287,7 @@ or separately in parallel) and should involve a tight cycle of: planning should be done to spread out the changes incrementally. By necessity, these changes may break functionality in applications -built using Open MCT Web. On a case-by-case basis, should consider +built using Open MCT. On a case-by-case basis, should consider providing temporary "legacy support" to allow downstream updates to occur as a separate task; the relevant trade here is between waste/effort required to maintain legacy support, versus the @@ -299,11 +299,11 @@ across several repositories. Update bundles to remove any usages of legacy support for bundles (including that used by dependent projects.) Then, remove legacy -support from Open MCT Web. +support from Open MCT. ## Step 8. Release candidacy -Once API changes are complete, Open MCT Web should enter a release +Once API changes are complete, Open MCT should enter a release candidacy cycle. Important things to look at here: * Are changes really complete? diff --git a/docs/src/design/proposals/APIRedesign.md b/docs/src/design/proposals/APIRedesign.md index 479460b457c..d14f4ce469a 100644 --- a/docs/src/design/proposals/APIRedesign.md +++ b/docs/src/design/proposals/APIRedesign.md @@ -1,6 +1,6 @@ # Overview -The purpose of this document is to review feedback on Open MCT Web's +The purpose of this document is to review feedback on Open MCT's current API and propose improvements to the API, particularly for a 1.0.0 release. @@ -64,7 +64,7 @@ useful, powerful interfaces. ## Developer Intern Feedback This feedback comes from interns who worked closely with -Open MCT Web as their primary task over the Summer of 2015. +Open MCT as their primary task over the Summer of 2015. ### Developer Intern 1 @@ -104,7 +104,7 @@ Worked on bug fixes in the platform and a plugin for search. Worked on platform bug fixes and mobile support. -* No guide for the UI and front end for the HTML/CSS part of Open MCT Web. +* No guide for the UI and front end for the HTML/CSS part of Open MCT. Not sure if this is applicable or needed for developers, however would be helpful to any front end development * Found it difficult to follow the plot controller & subplot @@ -118,11 +118,11 @@ Worked on platform bug fixes and mobile support. ## Plugin Developer Feedback This feedback comes from developers who have worked on plugins for -Open MCT Web, but have not worked on the platform. +Open MCT, but have not worked on the platform. ### Plugin Developer 1 -Used Open MCT Web over the course of several months (on a +Used Open MCT over the course of several months (on a less-than-half-time basis) to develop a spectrum visualization plugin. @@ -138,7 +138,7 @@ spectrum visualization plugin. ### Plugin Developer 2 -Used Open MCT Web over the course of several weeks (on a half-time basis) +Used Open MCT over the course of several weeks (on a half-time basis) to develop a tabular visualization plugin. * Pain points @@ -197,7 +197,7 @@ to develop a tabular visualization plugin. ## Long-term Developer Notes The following notes are from original platform developer, with long -term experience using Open MCT Web. +term experience using Open MCT. * Bundle mechanism allows for grouping related components across concerns, and adding and removing these easily. (e.g. model and view components of @@ -220,7 +220,7 @@ or reducing the Angular dependency. ### Angular's Role -Angular is Open MCT Web's: +Angular is Open MCT's: * Dependency injection framework. * Template rendering. @@ -268,7 +268,7 @@ by experience: * Feedback from new developers is that Angular was a hindrance to training, not a benefit. ("One more thing to learn.") Significant - documentation remains necessary for Open MCT Web. + documentation remains necessary for Open MCT. * Expected enhancements to maintainability will be effectively invalidated by an expected Angular end-of-life. * Data binding and automatic view updates do save development effort, @@ -526,7 +526,7 @@ subset of `$http`'s functionality. ### Detriments -* Increases the number of interfaces in Open MCT Web. (Arguably, +* Increases the number of interfaces in Open MCT. (Arguably, not really, since the same interfaces would exist if exposed by Angular.) @@ -574,7 +574,7 @@ This would also allow for "composite bundles" which serve as proxies for multiple bundles. The `BundleContext` could contain (or later be amended to contain) filtering rules to ignore other bundles and so forth (this has been useful for administering -Open MCT Web in subtly different configurations in the past.) +Open MCT in subtly different configurations in the past.) ### Benefits @@ -827,7 +827,7 @@ This could be resolved by: ## Nomenclature Change -Instead of presenting Open MCT Web as a "framework" or +Instead of presenting Open MCT as a "framework" or "platform", present it as an "extensible application." This is mostly a change for the developer guide. A @@ -1040,7 +1040,7 @@ This is a more specific variant of * Removes a whole category of API (bundle definitions), reducing learning curve associated with the software. * Closer to Angular style, reducing disconnect between learning - Angular and learning Open MCT Web (reducing burden of having + Angular and learning Open MCT (reducing burden of having to learn multiple paradigms.) * Clarifies "what can be found where" (albeit not perfectly) since you can look to module dependencies and follow back from there. diff --git a/example/README.md b/example/README.md index 0e1b29c0363..d6f3afaec00 100644 --- a/example/README.md +++ b/example/README.md @@ -1,2 +1,2 @@ This directory is for example bundles, which are intended to illustrate -how to author new software components using Open MCT Web. +how to author new software components using Open MCT. diff --git a/example/builtins/bundle.js b/example/builtins/bundle.js index 9192a197675..ed37336340c 100644 --- a/example/builtins/bundle.js +++ b/example/builtins/bundle.js @@ -1,9 +1,9 @@ /***************************************************************************** - * Open MCT Web, Copyright (c) 2014-2015, United States Government + * Open MCT, Copyright (c) 2014-2016, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * - * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * Open MCT is licensed under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0. @@ -14,7 +14,7 @@ * License for the specific language governing permissions and limitations * under the License. * - * Open MCT Web includes source code licensed under additional open source + * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. diff --git a/example/builtins/res/templates/example.html b/example/builtins/res/templates/example.html index e298489fff3..3bd7ac347f6 100644 --- a/example/builtins/res/templates/example.html +++ b/example/builtins/res/templates/example.html @@ -1,9 +1,9 @@
-

# Open MCT Web Licenses

+

# Open MCT Licenses

## Apache License

diff --git a/platform/commonUI/about/res/templates/licenses.html b/platform/commonUI/about/res/templates/licenses.html index 28c919198ef..65466dbdc28 100644 --- a/platform/commonUI/about/res/templates/licenses.html +++ b/platform/commonUI/about/res/templates/licenses.html @@ -1,9 +1,9 @@
- - - - - + +
  • Dirty: {{aForm.$dirty}}
  • @@ -33,11 +35,8 @@
-
-
-    
-
+        
     
\ No newline at end of file diff --git a/example/forms/src/ExampleFormController.js b/example/forms/src/ExampleFormController.js index dea579f075d..f3f8c95a4e9 100644 --- a/example/forms/src/ExampleFormController.js +++ b/example/forms/src/ExampleFormController.js @@ -78,27 +78,26 @@ define( items: [ { control: "button", - glyph: "1", - description: "Button A", + csslass: "icon-save", click: function () { - window.alert("A"); + window.alert("Save"); } }, { control: "button", - glyph: "2", + csslass: "icon-x", description: "Button B", click: function () { - window.alert("B"); + window.alert("Cancel"); } }, { control: "button", - glyph: "3", + csslass: "icon-trash", description: "Button C", disabled: true, click: function () { - window.alert("C"); + window.alert("Delete"); } } ] diff --git a/example/generator/bundle.js b/example/generator/bundle.js index e4e719149a9..0eadfad5e9e 100644 --- a/example/generator/bundle.js +++ b/example/generator/bundle.js @@ -86,7 +86,7 @@ define([ { "key": "generator", "name": "Sine Wave Generator", - "glyph": "\u0054", + "cssclass": "icon-telemetry", "description": "For development use. Generates example streaming telemetry data using a simple sine wave algorithm.", "priority": 10, "features": "creation", diff --git a/example/imagery/bundle.js b/example/imagery/bundle.js index d0304f3f98d..6232229e407 100644 --- a/example/imagery/bundle.js +++ b/example/imagery/bundle.js @@ -49,7 +49,7 @@ define([ { "key": "imagery", "name": "Example Imagery", - "glyph": "\u00e3", + "cssclass": "icon-image", "features": "creation", "description": "For development use. Creates example imagery data that mimics a live imagery stream.", "priority": 10, diff --git a/example/mobile/res/sass/mobile-example.scss b/example/mobile/res/sass/mobile-example.scss index f9f004baa49..99c14d305b0 100644 --- a/example/mobile/res/sass/mobile-example.scss +++ b/example/mobile/res/sass/mobile-example.scss @@ -25,7 +25,7 @@ @include phoneandtablet { // Show the Create button - .create-btn-holder { + .create-button-holder { display: block !important; } } diff --git a/example/msl/bundle.js b/example/msl/bundle.js index 15c8191574f..aefc3ffc168 100644 --- a/example/msl/bundle.js +++ b/example/msl/bundle.js @@ -43,18 +43,18 @@ define([ { "name":"Mars Science Laboratory", "key": "msl.curiosity", - "glyph": "o" + "cssclass": "icon-object" }, { "name": "Instrument", "key": "msl.instrument", - "glyph": "o", + "cssclass": "icon-object", "model": {"composition": []} }, { "name": "Measurement", "key": "msl.measurement", - "glyph": "\u0054", + "cssclass": "icon-telemetry", "model": {"telemetry": {}}, "telemetry": { "source": "rems.source", diff --git a/example/notifications/res/dialog-launch.html b/example/notifications/res/dialog-launch.html index 9eebd2e3e59..c810f7f6057 100644 --- a/example/notifications/res/dialog-launch.html +++ b/example/notifications/res/dialog-launch.html @@ -1,9 +1,9 @@ - + - + Known | Unknown | Error | Info - Dialogs + \ No newline at end of file diff --git a/example/notifications/res/notification-launch.html b/example/notifications/res/notification-launch.html index e5f5cbac6b6..41aee23e63a 100644 --- a/example/notifications/res/notification-launch.html +++ b/example/notifications/res/notification-launch.html @@ -1,9 +1,9 @@ - + - + Success | Error | Alert | Progress - Notifications + \ No newline at end of file diff --git a/example/notifications/src/DialogLaunchIndicator.js b/example/notifications/src/DialogLaunchIndicator.js index 4a9a67689e3..3d30e84be52 100644 --- a/example/notifications/src/DialogLaunchIndicator.js +++ b/example/notifications/src/DialogLaunchIndicator.js @@ -32,17 +32,15 @@ define( * launched for demonstration and testing purposes. * @constructor */ + function DialogLaunchIndicator() { } DialogLaunchIndicator.template = 'dialogLaunchTemplate'; - DialogLaunchIndicator.prototype.getGlyph = function () { - return "i"; - }; DialogLaunchIndicator.prototype.getGlyphClass = function () { - return 'caution'; + return 'ok'; }; DialogLaunchIndicator.prototype.getText = function () { return "Launch test dialog"; diff --git a/example/notifications/src/NotificationLaunchIndicator.js b/example/notifications/src/NotificationLaunchIndicator.js index 8c48d05bee9..b839fa81d63 100644 --- a/example/notifications/src/NotificationLaunchIndicator.js +++ b/example/notifications/src/NotificationLaunchIndicator.js @@ -26,17 +26,21 @@ define( function () { "use strict"; + /** + * A tool for manually invoking notifications. When included this + * indicator will allow for notifications of different types to be + * launched for demonstration and testing purposes. + * @constructor + */ + function NotificationLaunchIndicator() { } NotificationLaunchIndicator.template = 'notificationLaunchTemplate'; - NotificationLaunchIndicator.prototype.getGlyph = function () { - return "i"; - }; NotificationLaunchIndicator.prototype.getGlyphClass = function () { - return 'caution'; + return 'ok'; }; NotificationLaunchIndicator.prototype.getText = function () { return "Launch notification"; diff --git a/example/plotOptions/bundle.js b/example/plotOptions/bundle.js index 25a78584b15..66a2e819371 100644 --- a/example/plotOptions/bundle.js +++ b/example/plotOptions/bundle.js @@ -81,7 +81,7 @@ define([ { "key": "plot", "name": "Example Telemetry Plot", - "glyph": "\u0074", + "cssclass": "icon-telemetry-panel", "description": "For development use. A plot for displaying telemetry.", "priority": 10, "delegates": [ diff --git a/example/profiling/src/DigestIndicator.js b/example/profiling/src/DigestIndicator.js index 1de2d0e9737..826dd2f23ff 100644 --- a/example/profiling/src/DigestIndicator.js +++ b/example/profiling/src/DigestIndicator.js @@ -59,11 +59,14 @@ define( update(); return { - getGlyph: function () { - return "."; - }, - getGlyphClass: function () { - return undefined; + /** + * Get the CSS class that defines the icon + * to display in this indicator. This will appear + * as a dataflow icon. + * @returns {string} the cssclass of the dataflow icon + */ + getCssClass: function () { + return "icon-connectivity"; }, getText: function () { return displayed + " digests/sec"; diff --git a/example/profiling/src/WatchIndicator.js b/example/profiling/src/WatchIndicator.js index f999de7e01c..1e9ef5e3867 100644 --- a/example/profiling/src/WatchIndicator.js +++ b/example/profiling/src/WatchIndicator.js @@ -55,24 +55,13 @@ define( return { /** - * Get the glyph (single character used as an icon) + * Get the CSS class (single character used as an icon) * to display in this indicator. This will return ".", - * which should appear as a dataflow icon. + * which should appear as a database icon. * @returns {string} the character of the database icon */ - getGlyph: function () { - return "E"; - }, - /** - * Get the name of the CSS class to apply to the glyph. - * This is used to color the glyph to match its - * state (one of ok, caution or err) - * @returns {string} the CSS class to apply to this glyph - */ - getGlyphClass: function () { - return (watches > 2000) ? "caution" : - (watches < 1000) ? "ok" : - undefined; + getCssClass: function () { + return "icon-database"; }, /** * Get the text that should appear in the indicator. diff --git a/example/worker/src/FibonacciIndicator.js b/example/worker/src/FibonacciIndicator.js index d2f25c8aed0..777fb3d2f55 100644 --- a/example/worker/src/FibonacciIndicator.js +++ b/example/worker/src/FibonacciIndicator.js @@ -50,15 +50,12 @@ define( requestNext(); return { - getGlyph: function () { - return "?"; + getCssClass: function () { + return "icon-object-unknown"; }, getText: function () { return latest; }, - getGlyphClass: function () { - return ""; - }, getDescription: function () { return ""; } diff --git a/platform/commonUI/browse/bundle.js b/platform/commonUI/browse/bundle.js index e0a5758fff5..5ff13d789e4 100644 --- a/platform/commonUI/browse/bundle.js +++ b/platform/commonUI/browse/bundle.js @@ -231,7 +231,7 @@ define([ "$window" ], "group": "windowing", - "glyph": "y", + "cssclass": "icon-new-window", "priority": "preferred" }, { @@ -239,7 +239,6 @@ define([ "implementation": FullscreenAction, "category": "view-control", "group": "windowing", - "glyph": "z", "priority": "default" } ], @@ -247,7 +246,7 @@ define([ { "key": "items", "name": "Items", - "glyph": "9", + "cssclass": "icon-thumbs-strip", "description": "Grid of available items", "template": itemsTemplate, "uses": [ diff --git a/platform/commonUI/browse/res/templates/back-arrow.html b/platform/commonUI/browse/res/templates/back-arrow.html index 4a77e62d0b8..44ac390f39b 100644 --- a/platform/commonUI/browse/res/templates/back-arrow.html +++ b/platform/commonUI/browse/res/templates/back-arrow.html @@ -20,11 +20,8 @@ at runtime from the About dialog for additional information. --> - - - { diff --git a/platform/commonUI/browse/res/templates/browse.html b/platform/commonUI/browse/res/templates/browse.html index 63197ba84fa..aa1415ca81c 100644 --- a/platform/commonUI/browse/res/templates/browse.html +++ b/platform/commonUI/browse/res/templates/browse.html @@ -31,7 +31,7 @@
+ class="holder flex-elem create-button-holder"> +
@@ -75,10 +79,6 @@ mct-object="navigatedObject" ng-model="treeModel"> -
diff --git a/platform/commonUI/browse/res/templates/browse/object-header.html b/platform/commonUI/browse/res/templates/browse/object-header.html index 7b80323fabd..48a64796da8 100644 --- a/platform/commonUI/browse/res/templates/browse/object-header.html +++ b/platform/commonUI/browse/res/templates/browse/object-header.html @@ -19,7 +19,7 @@ this source code distribution or the Licensing information page available at runtime from the About dialog for additional information. --> -{{type.getGlyph()}} + {{parameters.mode}} {{model.name}} diff --git a/platform/commonUI/browse/res/templates/items/grid-item.html b/platform/commonUI/browse/res/templates/items/grid-item.html index 069ecf4a4a0..153175eb002 100644 --- a/platform/commonUI/browse/res/templates/items/grid-item.html +++ b/platform/commonUI/browse/res/templates/items/grid-item.html @@ -23,14 +23,14 @@
-
O
+
- {{type.getGlyph()}} + -
}
+
{{model.name}}
diff --git a/platform/commonUI/browse/res/templates/menu-arrow.html b/platform/commonUI/browse/res/templates/menu-arrow.html index e3c1b935e7c..83327760b04 100644 --- a/platform/commonUI/browse/res/templates/menu-arrow.html +++ b/platform/commonUI/browse/res/templates/menu-arrow.html @@ -21,6 +21,6 @@ --> - v + \ No newline at end of file diff --git a/platform/commonUI/browse/src/windowing/FullscreenAction.js b/platform/commonUI/browse/src/windowing/FullscreenAction.js index 2882f170795..975562af0ce 100644 --- a/platform/commonUI/browse/src/windowing/FullscreenAction.js +++ b/platform/commonUI/browse/src/windowing/FullscreenAction.js @@ -46,12 +46,12 @@ define( }; FullscreenAction.prototype.getMetadata = function () { - // We override getMetadata, because the glyph and + // We override getMetadata, because the icon cssclass and // description need to be determined at run-time // based on whether or not we are currently // full screen. var metadata = Object.create(FullscreenAction); - metadata.glyph = screenfull.isFullscreen ? "_" : "z"; + metadata.cssclass = screenfull.isFullscreen ? "icon-fullscreen-expand" : "icon-fullscreen-collapse"; metadata.description = screenfull.isFullscreen ? EXIT_FULLSCREEN : ENTER_FULLSCREEN; metadata.group = "windowing"; diff --git a/platform/commonUI/browse/test/windowing/FullscreenActionSpec.js b/platform/commonUI/browse/test/windowing/FullscreenActionSpec.js index bf2d520b3ae..913535fa597 100644 --- a/platform/commonUI/browse/test/windowing/FullscreenActionSpec.js +++ b/platform/commonUI/browse/test/windowing/FullscreenActionSpec.js @@ -51,7 +51,7 @@ define( }); it("provides displayable metadata", function () { - expect(action.getMetadata().glyph).toBeDefined(); + expect(action.getMetadata().cssclass).toBeDefined(); }); }); diff --git a/platform/commonUI/dialog/res/templates/dialog.html b/platform/commonUI/dialog/res/templates/dialog.html index 9df10e0cd07..85a496ce57e 100644 --- a/platform/commonUI/dialog/res/templates/dialog.html +++ b/platform/commonUI/dialog/res/templates/dialog.html @@ -21,21 +21,22 @@ -->
{{ngModel.title}}
-
All fields marked * are required.
+
All fields marked are required.
- OK - Cancel diff --git a/platform/commonUI/dialog/res/templates/message.html b/platform/commonUI/dialog/res/templates/message.html index 8568fe5fb1b..6a2be98d995 100644 --- a/platform/commonUI/dialog/res/templates/message.html +++ b/platform/commonUI/dialog/res/templates/message.html @@ -16,11 +16,11 @@
{{dialogOption.label}} - {{ngModel.primaryOption.label}} diff --git a/platform/commonUI/dialog/res/templates/overlay-message-list.html b/platform/commonUI/dialog/res/templates/overlay-message-list.html index 5a7a48192fa..299d19639ca 100644 --- a/platform/commonUI/dialog/res/templates/overlay-message-list.html +++ b/platform/commonUI/dialog/res/templates/overlay-message-list.html @@ -2,7 +2,8 @@
{{ngModel.dialog.title}}
-
Displaying {{ngModel.dialog.messages.length}} messages +
Displaying {{ngModel.dialog.messages.length}} messages
@@ -12,7 +13,7 @@
{{dialogAction.label}} diff --git a/platform/commonUI/dialog/res/templates/overlay-options.html b/platform/commonUI/dialog/res/templates/overlay-options.html index 4d73c59613f..89b8be8242b 100644 --- a/platform/commonUI/dialog/res/templates/overlay-options.html +++ b/platform/commonUI/dialog/res/templates/overlay-options.html @@ -33,7 +33,7 @@ \ No newline at end of file diff --git a/platform/commonUI/edit/bundle.js b/platform/commonUI/edit/bundle.js index 21411104094..2c5a79bda3a 100644 --- a/platform/commonUI/edit/bundle.js +++ b/platform/commonUI/edit/bundle.js @@ -174,7 +174,7 @@ define([ ], "description": "Edit", "category": "view-control", - "glyph": "p" + "cssclass": "major icon-pencil" }, { "key": "properties", @@ -183,7 +183,7 @@ define([ "view-control" ], "implementation": PropertiesAction, - "glyph": "p", + "cssclass": "major icon-pencil", "name": "Edit Properties...", "description": "Edit properties of this object.", "depends": [ @@ -194,7 +194,7 @@ define([ "key": "remove", "category": "contextual", "implementation": RemoveAction, - "glyph": "Z", + "cssclass": "icon-trash", "name": "Remove", "description": "Remove this object from its containing object.", "depends": [ @@ -207,6 +207,7 @@ define([ "category": "conclude-editing", "implementation": SaveAction, "name": "Save", + "cssclass": "icon-save labeled", "description": "Save changes made to these objects.", "depends": [ "dialogService" @@ -217,7 +218,8 @@ define([ "key": "save", "category": "conclude-editing", "implementation": SaveAsAction, - "name": "Save", + "name": "Save As...", + "cssclass": "icon-save labeled", "description": "Save changes made to these objects.", "depends": [ "$injector", @@ -233,6 +235,7 @@ define([ "category": "conclude-editing", "implementation": CancelAction, "name": "Cancel", + "cssclass": "icon-x no-label", "description": "Discard changes made to these objects.", "depends": [] } diff --git a/platform/commonUI/edit/res/templates/create/create-button.html b/platform/commonUI/edit/res/templates/create/create-button.html index 77c6198cae4..8a1e7997833 100644 --- a/platform/commonUI/edit/res/templates/create/create-button.html +++ b/platform/commonUI/edit/res/templates/create/create-button.html @@ -20,7 +20,7 @@ at runtime from the About dialog for additional information. --> -
+
Create