Compare commits
	
		
			11 Commits
		
	
	
		
			realtime-i
			...
			subobject-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | a41c54f711 | ||
|   | 995790d32d | ||
|   | 074548964a | ||
|   | d6deb533dd | ||
|   | 8834b11b56 | ||
|   | f2d588be4b | ||
|   | f88da89b78 | ||
|   | f4547d333e | ||
|   | 309ec07bc7 | ||
|   | d9226568b7 | ||
|   | 936a668fe3 | 
| @@ -32,6 +32,7 @@ define([ | ||||
|     './policies/AdapterCompositionPolicy', | ||||
|     './policies/AdaptedViewPolicy', | ||||
|     './runs/AlternateCompositionInitializer', | ||||
|     './runs/SelectingNavigationListener', | ||||
|     'text!./templates/adapted-view-template.html' | ||||
| ], function ( | ||||
|     legacyRegistry, | ||||
| @@ -45,6 +46,7 @@ define([ | ||||
|     AdapterCompositionPolicy, | ||||
|     AdaptedViewPolicy, | ||||
|     AlternateCompositionInitializer, | ||||
|     SelectingNavigationListener, | ||||
|     adaptedViewTemplate | ||||
| ) { | ||||
|     legacyRegistry.register('src/adapter', { | ||||
| @@ -121,6 +123,10 @@ define([ | ||||
|                 { | ||||
|                     implementation: AlternateCompositionInitializer, | ||||
|                     depends: ["openmct"] | ||||
|                 }, | ||||
|                 { | ||||
|                     implementation: SelectingNavigationListener, | ||||
|                     depends: ["navigationService", "openmct"] | ||||
|                 } | ||||
|             ], | ||||
|             views: [ | ||||
|   | ||||
| @@ -29,8 +29,9 @@ define([], function () { | ||||
|             } | ||||
|  | ||||
|             var domainObject = legacyObject.useCapability('adapter'); | ||||
|             var providers = openmct.mainViews.get(domainObject); | ||||
|             $scope.view = providers[0] && providers[0].view(domainObject); | ||||
|             var context = { item: domainObject }; | ||||
|             var providers = openmct.mainViews.get(context); | ||||
|             $scope.view = providers[0] && providers[0].view(context); | ||||
|         } | ||||
|  | ||||
|         $scope.$watch('domainObject', refresh); | ||||
|   | ||||
							
								
								
									
										34
									
								
								src/adapter/runs/SelectingNavigationListener.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/adapter/runs/SelectingNavigationListener.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| /***************************************************************************** | ||||
|  * 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 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([], function () { | ||||
|     function SelectingNavigationListener(navigationService, openmct) { | ||||
|         var selection = openmct.selection; | ||||
|         navigationService.addListener(function (legacyObject) { | ||||
|             var domainObject = legacyObject.useCapability('adapter'); | ||||
|             selection.clear(); | ||||
|             selection.add({ item: domainObject }); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     return SelectingNavigationListener; | ||||
| }); | ||||
							
								
								
									
										53
									
								
								src/inspection/InspectorController.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								src/inspection/InspectorController.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| /***************************************************************************** | ||||
|  * 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 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 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(['./InspectorView'], function (InspectorView) { | ||||
|     function InspectorController(selection, region, registry) { | ||||
|         this.selection = selection; | ||||
|         this.region = region; | ||||
|         this.registry = registry; | ||||
|         this.active = false; | ||||
|         this.onChange = this.onChange.bind(this); | ||||
|     } | ||||
|  | ||||
|     InspectorController.prototype.onChange = function (context) { | ||||
|         var view = new InspectorView(this.registry, context) | ||||
|         this.region.show(view); | ||||
|     }; | ||||
|  | ||||
|     InspectorController.prototype.activate = function () { | ||||
|         if (!this.active) { | ||||
|             this.selection.on('change', this.onChange); | ||||
|             this.active = true; | ||||
|         } | ||||
|  | ||||
|     }; | ||||
|  | ||||
|     InspectorController.prototype.deactivate = function () { | ||||
|         if (this.active) { | ||||
|             this.selection.off('change', this.onChange); | ||||
|             this.active = false; | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     return InspectorController; | ||||
| }); | ||||
							
								
								
									
										55
									
								
								src/inspection/InspectorPanelView.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								src/inspection/InspectorPanelView.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| /***************************************************************************** | ||||
|  * 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 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 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([ | ||||
|     'text!./inspector-panel.html', | ||||
|     'zepto', | ||||
|     'lodash' | ||||
| ], function (inspectorTemplate, $, _) { | ||||
|     var TEMPLATE = _.template(inspectorTemplate); | ||||
|  | ||||
|     function InspectorPanelView(provider, context) { | ||||
|         this.provider = provider; | ||||
|         this.context = context; | ||||
|     } | ||||
|  | ||||
|     InspectorPanelView.prototype.show = function (element) { | ||||
|         var html = TEMPLATE(this.provider.metadata(this.context)); | ||||
|         var $elements = $(html); | ||||
|         var innerRegion = $elements.find('.inner-region')[0]; | ||||
|  | ||||
|         $(element).append($elements); | ||||
|  | ||||
|         this.destroy(); | ||||
|         this.view = this.provider.view(this.context); | ||||
|         this.view.show(innerRegion); | ||||
|     }; | ||||
|  | ||||
|     InspectorPanelView.prototype.destroy = function () { | ||||
|         if (this.view) { | ||||
|             this.view.destroy(); | ||||
|             this.view = undefined; | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     return InspectorPanelView; | ||||
| }); | ||||
							
								
								
									
										55
									
								
								src/inspection/InspectorView.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								src/inspection/InspectorView.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| /***************************************************************************** | ||||
|  * 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 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 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(['zepto', './InspectorPanelView'], function ($, InspectorPanelView) { | ||||
|     function InspectorView(registry, context) { | ||||
|         this.registry = registry; | ||||
|         this.context = context; | ||||
|         this.views = []; | ||||
|     } | ||||
|  | ||||
|     InspectorView.prototype.show = function (element) { | ||||
|         var providers = this.registry.get(this.context); | ||||
|         var $ul = $('<ul></ul>'); | ||||
|  | ||||
|         this.destroy(); | ||||
|  | ||||
|         this.views = providers.map(function (provider) { | ||||
|             return new InspectorPanelView(provider, this.context); | ||||
|         }.bind(this)); | ||||
|  | ||||
|         $(element).append($ul); | ||||
|  | ||||
|         this.views.foreEach(function (view) { | ||||
|             view.show($ul[0]); | ||||
|         }); | ||||
|     }; | ||||
|  | ||||
|     InspectorView.prototype.destroy = function () { | ||||
|         this.views.forEach(function (view) { | ||||
|             view.destroy(); | ||||
|         }); | ||||
|         this.views = []; | ||||
|     }; | ||||
|  | ||||
|     return InspectorView; | ||||
| }); | ||||
							
								
								
									
										4
									
								
								src/inspection/inspector-panel.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/inspection/inspector-panel.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <li> | ||||
|     <em class="t-inspector-part-header"><%- name %></em> | ||||
|     <div class="inner-region"></div> | ||||
| </li> | ||||
| @@ -30,7 +30,7 @@ define(['zepto'], function ($) { | ||||
|         var $element = $(htmlElement); | ||||
|         var contextManager = this.contextManager; | ||||
|         var selection = this.selection; | ||||
|         var path = contextManager.path(item, htmlElement); | ||||
|         var context = contextManager.context(item, htmlElement); | ||||
|  | ||||
|         function select() { | ||||
|             selection.add(path); | ||||
| @@ -40,7 +40,7 @@ define(['zepto'], function ($) { | ||||
|             var selected = selection.primary(); | ||||
|             $element.toggleClass( | ||||
|                 'selected', | ||||
|                 selected && path.matches(selected) | ||||
|                 !!selected && (selected.element === htmlElement) | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -34,13 +34,14 @@ define([], function () { | ||||
|  | ||||
|     /** | ||||
|      * @private for platform-internal use | ||||
|      * @param {*} item the object to be viewed | ||||
|      * @param {module:openmct.Context} context the view's context, | ||||
|      *        which includes the item being viewed | ||||
|      * @returns {module:openmct.ViewProvider[]} any providers | ||||
|      *          which can provide views of this object | ||||
|      */ | ||||
|     ViewRegistry.prototype.get = function (item) { | ||||
|     ViewRegistry.prototype.get = function (context) { | ||||
|         return this.providers.filter(function (provider) { | ||||
|             return provider.canView(item); | ||||
|             return provider.canView(context); | ||||
|         }); | ||||
|     }; | ||||
|  | ||||
| @@ -105,8 +106,8 @@ define([], function () { | ||||
|      * | ||||
|      * @method canView | ||||
|      * @memberof module:openmct.ViewProvider# | ||||
|      * @param {module:openmct.DomainObject} domainObject the domain object | ||||
|      *        to be viewed | ||||
|      * @param {module:openmct.Context} context the view's context, | ||||
|      *        which includes the item being viewed | ||||
|      * @returns {boolean} true if this domain object can be viewed using | ||||
|      *          this provider | ||||
|      */ | ||||
| @@ -122,7 +123,8 @@ define([], function () { | ||||
|      * | ||||
|      * @method view | ||||
|      * @memberof module:openmct.ViewProvider# | ||||
|      * @param {*} object the object to be viewed | ||||
|      * @param {module:openmct.Context} context the view's context, | ||||
|      *        which includes the item being viewed | ||||
|      * @returns {module:openmct.View} a view of this domain object | ||||
|      */ | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user