Compare commits
	
		
			4 Commits
		
	
	
		
			visual-tes
			...
			mmgis-cust
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 2def6dd634 | ||
|   | 16fe1b55c6 | ||
|   | 8037c372b0 | ||
|   | 216a349282 | 
| @@ -2,7 +2,9 @@ | ||||
|   "name": "openmct", | ||||
|   "version": "1.7.4", | ||||
|   "description": "The Open MCT core platform", | ||||
|   "dependencies": {}, | ||||
|   "dependencies": { | ||||
|     "openmct-mmgis": "git+https://trunk.arc.nasa.gov/bitbucket/scm/vipergds/openmct-mmgis.git#api-mmgis-inspector" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "angular": ">=1.8.0", | ||||
|     "angular-route": "1.4.14", | ||||
|   | ||||
| @@ -65,7 +65,8 @@ define([ | ||||
|     './interceptors/plugin', | ||||
|     './performanceIndicator/plugin', | ||||
|     './CouchDBSearchFolder/plugin', | ||||
|     './timeline/plugin' | ||||
|     './timeline/plugin', | ||||
|     '/node_modules/openmct-mmgis/dist/openmct-mmgis' | ||||
| ], function ( | ||||
|     _, | ||||
|     UTCTimeSystem, | ||||
| @@ -111,7 +112,8 @@ define([ | ||||
|     ObjectInterceptors, | ||||
|     PerformanceIndicator, | ||||
|     CouchDBSearchFolder, | ||||
|     Timeline | ||||
|     Timeline, | ||||
|     Mmgis | ||||
| ) { | ||||
|     const bundleMap = { | ||||
|         LocalStorage: 'platform/persistence/local', | ||||
| @@ -212,6 +214,7 @@ define([ | ||||
|     plugins.PerformanceIndicator = PerformanceIndicator.default; | ||||
|     plugins.CouchDBSearchFolder = CouchDBSearchFolder.default; | ||||
|     plugins.Timeline = Timeline.default; | ||||
|     plugins.Mmgis = Mmgis.default; | ||||
|  | ||||
|     return plugins; | ||||
| }); | ||||
|   | ||||
							
								
								
									
										43
									
								
								src/ui/inspector/DetailText.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/ui/inspector/DetailText.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <li class="c-inspect-properties__row"> | ||||
|     <div class="c-inspect-properties__label"> | ||||
|         {{ detail.name }} | ||||
|     </div> | ||||
|     <div class="c-inspect-properties__value"> | ||||
|         {{ detail.value }} | ||||
|     </div> | ||||
| </li> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|     props: { | ||||
|         detail: { | ||||
|             type: Object, | ||||
|             required: true | ||||
|         } | ||||
|     } | ||||
| }; | ||||
| </script> | ||||
							
								
								
									
										50
									
								
								src/ui/inspector/DetailTime.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								src/ui/inspector/DetailTime.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <li class="c-inspect-properties__row"> | ||||
|     <div class="c-inspect-properties__label"> | ||||
|         {{ detail.name }} | ||||
|     </div> | ||||
|     <div class="c-inspect-properties__value"> | ||||
|         {{ formattedTime }} | ||||
|     </div> | ||||
| </li> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import Moment from 'moment'; | ||||
|  | ||||
| export default { | ||||
|     props: { | ||||
|         detail: { | ||||
|             type: Object, | ||||
|             required: true | ||||
|         } | ||||
|     }, | ||||
|     computed: { | ||||
|         formattedTime() { | ||||
|             return Moment.utc(this.detail.value).format('YYYY-MM-DD[\n]HH:mm:ss') + ' UTC'; | ||||
|         } | ||||
|     } | ||||
| }; | ||||
| </script> | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <li | ||||
|     draggable="true" | ||||
|   | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div class="c-elements-pool"> | ||||
|     <Search | ||||
|   | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div class="c-inspector"> | ||||
|     <object-name /> | ||||
| @@ -19,7 +41,9 @@ | ||||
|                    type="vertical" | ||||
|         > | ||||
|             <pane class="c-inspector__properties"> | ||||
|                 <properties /> | ||||
|                 <Properties | ||||
|                     v-if="!activity" | ||||
|                 /> | ||||
|                 <location /> | ||||
|                 <inspector-views /> | ||||
|             </pane> | ||||
| @@ -98,7 +122,8 @@ export default { | ||||
|                 key: '__styles', | ||||
|                 name: 'Styles' | ||||
|             }], | ||||
|             currentTabbedView: {} | ||||
|             currentTabbedView: {}, | ||||
|             activity: undefined | ||||
|         }; | ||||
|     }, | ||||
|     mounted() { | ||||
| @@ -111,9 +136,12 @@ export default { | ||||
|     methods: { | ||||
|         updateInspectorViews(selection) { | ||||
|             this.refreshComposition(selection); | ||||
|  | ||||
|             if (this.openmct.types.get('conditionSet')) { | ||||
|                 this.refreshTabs(selection); | ||||
|             } | ||||
|  | ||||
|             this.setActivity(selection); | ||||
|         }, | ||||
|         refreshComposition(selection) { | ||||
|             if (selection.length > 0 && selection[0].length > 0) { | ||||
| @@ -150,6 +178,12 @@ export default { | ||||
|         }, | ||||
|         isCurrent(view) { | ||||
|             return _.isEqual(this.currentTabbedView, view); | ||||
|         }, | ||||
|         setActivity(selection) { | ||||
|             this.activity = selection | ||||
|                 && selection.length | ||||
|                 && selection[0].length | ||||
|                 && selection[0][0].activity; | ||||
|         } | ||||
|     } | ||||
| }; | ||||
|   | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| export const mockTelemetryTableSelection = [ | ||||
|     [{ | ||||
|         context: { | ||||
|   | ||||
| @@ -1,10 +1,29 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div></div> | ||||
| </template> | ||||
|  | ||||
| <style> | ||||
| </style> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|     inject: ['openmct'], | ||||
|   | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div class="c-inspect-properties c-inspect-properties--location"> | ||||
|     <div | ||||
|   | ||||
| @@ -1,3 +1,25 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div class="c-inspector__header"> | ||||
|     <div v-if="!multiSelect" | ||||
|   | ||||
| @@ -1,105 +1,149 @@ | ||||
| /***************************************************************************** | ||||
|  * Open MCT, Copyright (c) 2014-2021, 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. | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| <template> | ||||
| <div v-if="!activity" | ||||
|      class="c-inspector__properties c-inspect-properties" | ||||
| > | ||||
| <div class="c-inspector__properties c-inspect-properties"> | ||||
|     <div class="c-inspect-properties__header"> | ||||
|         Details | ||||
|     </div> | ||||
|     <ul | ||||
|         v-if="!multiSelect && !singleSelectNonObject" | ||||
|         v-if="hasDetails" | ||||
|         class="c-inspect-properties__section" | ||||
|     > | ||||
|         <li class="c-inspect-properties__row"> | ||||
|             <div class="c-inspect-properties__label"> | ||||
|                 Title | ||||
|             </div> | ||||
|             <div class="c-inspect-properties__value"> | ||||
|                 {{ item.name }} | ||||
|             </div> | ||||
|         </li> | ||||
|         <li class="c-inspect-properties__row"> | ||||
|             <div class="c-inspect-properties__label"> | ||||
|                 Type | ||||
|             </div> | ||||
|             <div class="c-inspect-properties__value"> | ||||
|                 {{ typeName }} | ||||
|             </div> | ||||
|         </li> | ||||
|         <li | ||||
|             v-if="item.created" | ||||
|             class="c-inspect-properties__row" | ||||
|         > | ||||
|             <div class="c-inspect-properties__label"> | ||||
|                 Created | ||||
|             </div> | ||||
|             <div class="c-inspect-properties__value"> | ||||
|                 {{ formatTime(item.created) }} | ||||
|             </div> | ||||
|         </li> | ||||
|         <li | ||||
|             v-if="item.modified" | ||||
|             class="c-inspect-properties__row" | ||||
|         > | ||||
|             <div class="c-inspect-properties__label"> | ||||
|                 Modified | ||||
|             </div> | ||||
|             <div class="c-inspect-properties__value"> | ||||
|                 {{ formatTime(item.modified) }} | ||||
|             </div> | ||||
|         </li> | ||||
|         <li | ||||
|             v-for="prop in typeProperties" | ||||
|             :key="prop.name" | ||||
|             class="c-inspect-properties__row" | ||||
|         > | ||||
|             <div class="c-inspect-properties__label"> | ||||
|                 {{ prop.name }} | ||||
|             </div> | ||||
|             <div class="c-inspect-properties__value"> | ||||
|                 {{ prop.value }} | ||||
|             </div> | ||||
|         </li> | ||||
|         <Component | ||||
|             :is="getComponent(detail)" | ||||
|             v-for="detail in details" | ||||
|             :key="detail.name" | ||||
|             :detail="detail" | ||||
|         /> | ||||
|  | ||||
|     </ul> | ||||
|     <div | ||||
|         v-if="multiSelect" | ||||
|         v-else | ||||
|         class="c-inspect-properties__row--span-all" | ||||
|     > | ||||
|         No properties to display for multiple items | ||||
|     </div> | ||||
|     <div | ||||
|         v-if="singleSelectNonObject" | ||||
|         class="c-inspect-properties__row--span-all" | ||||
|     > | ||||
|         No properties to display for this item | ||||
|         {{ noDetailsMessage }} | ||||
|     </div> | ||||
| </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import Moment from "moment"; | ||||
| import DetailText from './DetailText.vue'; | ||||
| import DetailTime from './DetailTime.vue'; | ||||
|  | ||||
| export default { | ||||
|     components: { | ||||
|         DetailText, | ||||
|         DetailTime | ||||
|     }, | ||||
|     inject: ['openmct'], | ||||
|     data() { | ||||
|         return { | ||||
|             domainObject: {}, | ||||
|             activity: undefined, | ||||
|             multiSelect: false | ||||
|             selection: undefined | ||||
|         }; | ||||
|     }, | ||||
|     computed: { | ||||
|         item() { | ||||
|             return this.domainObject || {}; | ||||
|         details() { | ||||
|             return this.customDetails ? this.customDetails : this.domainObjectDetails; | ||||
|         }, | ||||
|         type() { | ||||
|             return this.openmct.types.get(this.item.type); | ||||
|         }, | ||||
|         typeName() { | ||||
|             if (!this.type) { | ||||
|                 return `Unknown: ${this.item.type}`; | ||||
|         customDetails() { | ||||
|             if (this.context === undefined) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             return this.type.definition.name; | ||||
|             return this.context.details; | ||||
|         }, | ||||
|         domainObject() { | ||||
|             if (this.context === undefined) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             return this.context.item; | ||||
|         }, | ||||
|         type() { | ||||
|             if (this.domainObject === undefined) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             return this.openmct.types.get(this.domainObject.type); | ||||
|         }, | ||||
|         domainObjectDetails() { | ||||
|             if (this.domainObject === undefined) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             const title = this.domainObject.name; | ||||
|             const typeName = this.type ? this.type.definition.name : `Unknown: ${this.domainObject.type}`; | ||||
|             const timestampLabel = this.domainObject.modified ? 'Modified' : 'Created'; | ||||
|             const timestamp = this.domainObject.modified ? this.domainObject.modified : this.domainObject.created; | ||||
|  | ||||
|             const details = [ | ||||
|                 { | ||||
|                     name: 'Title', | ||||
|                     value: title | ||||
|                 }, | ||||
|                 { | ||||
|                     name: 'Type', | ||||
|                     value: typeName | ||||
|                 } | ||||
|             ]; | ||||
|  | ||||
|             if (timestamp !== undefined) { | ||||
|                 details.push( | ||||
|                     { | ||||
|                         name: timestampLabel, | ||||
|                         value: timestamp, | ||||
|                         component: 'time' | ||||
|                     } | ||||
|                 ); | ||||
|             } | ||||
|  | ||||
|             return [...details, ...this.typeProperties]; | ||||
|         }, | ||||
|         context() { | ||||
|             if ( | ||||
|                 !this.selection | ||||
|                 || !this.selection.length | ||||
|                 || !this.selection[0].length | ||||
|             ) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             return this.selection[0][0].context; | ||||
|         }, | ||||
|         hasDetails() { | ||||
|             return Boolean( | ||||
|                 this.details | ||||
|                 && this.details.length | ||||
|                 && !this.multiSelection | ||||
|             ); | ||||
|         }, | ||||
|         multiSelection() { | ||||
|             return this.selection && this.selection.length > 1; | ||||
|         }, | ||||
|         noDetailsMessage() { | ||||
|             return this.multiSelection | ||||
|                 ? 'No properties to display for multiple items' | ||||
|                 : 'No properties to display for this item'; | ||||
|         }, | ||||
|         typeProperties() { | ||||
|             if (!this.type) { | ||||
| @@ -129,12 +173,9 @@ export default { | ||||
|                         name: field.name, | ||||
|                         value: field.path.reduce((object, key) => { | ||||
|                             return object[key]; | ||||
|                         }, this.item) | ||||
|                         }, this.domainObject) | ||||
|                     }; | ||||
|                 }); | ||||
|         }, | ||||
|         singleSelectNonObject() { | ||||
|             return !this.item.identifier && !this.multiSelect; | ||||
|         } | ||||
|     }, | ||||
|     mounted() { | ||||
| @@ -145,26 +186,13 @@ export default { | ||||
|         this.openmct.selection.off('change', this.updateSelection); | ||||
|     }, | ||||
|     methods: { | ||||
|         updateSelection(selection) { | ||||
|             if (selection.length === 0 || selection[0].length === 0) { | ||||
|                 this.domainObject = {}; | ||||
|         getComponent(detail) { | ||||
|             const component = detail.component ? detail.component : 'text'; | ||||
|  | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (selection.length > 1) { | ||||
|                 this.multiSelect = true; | ||||
|                 this.domainObject = {}; | ||||
|  | ||||
|                 return; | ||||
|             } else { | ||||
|                 this.multiSelect = false; | ||||
|                 this.domainObject = selection[0][0].context.item; | ||||
|                 this.activity = selection[0][0].context.activity; | ||||
|             } | ||||
|             return `detail-${component}`; | ||||
|         }, | ||||
|         formatTime(unixTime) { | ||||
|             return Moment.utc(unixTime).format('YYYY-MM-DD[\n]HH:mm:ss') + ' UTC'; | ||||
|         updateSelection(selection) { | ||||
|             this.selection = selection; | ||||
|         } | ||||
|     } | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user