mirror of
https://github.com/nasa/openmct.git
synced 2025-05-03 01:02:52 +00:00
* Support displaying and adding telemerty points in display layouts. * Create TelemetryView component. Also disable the toolbar frame button for telemetry objects. * Add 'components' directory and move the toolbar provider definition to a separate file. * Saving work * Saving work * Saving work * Fix telemetryClass * Fixes for .no-frame in new markup structure - CSS cleaned up and reorganized; - Added .c-telemetry-view classes; * Add computed properties for hiding label and value. * Filter value meta data based on the item config display mode. * Add drop down menus for display mode and value * Add toolbar controls for telemerty points * Set border and fill related styles on telemetry view instead of layout item * Refinements to telemetry view - Stoke and fill styling now work; - Internal element layout now much better when sizing in a Layout frame; - Tweaked color of frame border while editing; * Prevents adding a new (panel) object if it's already in the composition. * Fix for jumping edit area - Removed v-if from Toolbar.vue; - Refined c-toolbar styling; - TODO: don't include toolbar component when not editing, and for components that don't use a toolbar; * Add a separator toolbar control * Check for domainObject being on the toolbar item as not all controls have that property * Hide 'no fill' option from the text palette. Modify the color-picker component to say 'No border' for stroke palette. * Move the listener for hasFrame to the subobject view configuration * Fixes for toolbar-separator - New mixin; - Corrected markup for separator; - New class for .c-toolbar__separator; - Updated DisplayLayoutToolbar.js to include separators in the right spots; * Get type from item. * Include copyright notice. * Use arrow function for consistency and define a TEXT_SIZE constant. * Use composition API to add non-telemetry objects instead of relying on the drop handler. Display a blocking dialog if an existing non-telemetry object is dropped. * Fix text color picker icon * Address reviewer's feedback * Load the composition and update addObject() to render existing panels as well. Also, cache the telemetry value formatter. * Add listener for changes to time bounds. * Code cleanup * Use getFormatMap() to store formats. Reset telemetry value and class before fetching new data. * Fix a typo * Define telemetry class and value as computed properties. * Change context object definition * Look at the telemetry metadata to find a good default for the value key instead of defaulting to 'sin'. Also, make formats reactive. * Use let instead of var.
74 lines
3.0 KiB
JavaScript
74 lines
3.0 KiB
JavaScript
/*****************************************************************************
|
|
* Open MCT, Copyright (c) 2014-2018, 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([],
|
|
function () {
|
|
class SubobjectViewConfiguration {
|
|
/**
|
|
*
|
|
* @param domainObject the domain object to mutate.
|
|
* @param id
|
|
* @param rawPosition
|
|
* @param openmct
|
|
*/
|
|
constructor(domainObject, id, hasFrame, rawPosition, openmct) {
|
|
this.domainObject = domainObject;
|
|
this.id = id;
|
|
this.hasFrame = hasFrame;
|
|
this.rawPosition = rawPosition;
|
|
this.openmct = openmct;
|
|
this.mutatePosition = this.mutatePosition.bind(this);
|
|
this.listeners = [];
|
|
}
|
|
|
|
mutatePosition() {
|
|
let path = "configuration.panels[" + this.id + "]";
|
|
this.mutate(path + ".dimensions", this.rawPosition.dimensions);
|
|
this.mutate(path + ".position", this.rawPosition.position);
|
|
}
|
|
|
|
mutate(path, value) {
|
|
this.openmct.objects.mutate(this.domainObject, path, value);
|
|
}
|
|
|
|
attachListeners() {
|
|
let path = "configuration.panels[" + this.id + "].hasFrame";
|
|
this.listeners.push(this.openmct.objects.observe(this.domainObject, path, function (newValue) {
|
|
this.hasFrame = newValue;
|
|
}.bind(this)));
|
|
|
|
this.listeners.push(this.openmct.objects.observe(this.domainObject, '*', function (obj) {
|
|
this.domainObject = JSON.parse(JSON.stringify(obj));
|
|
}.bind(this)));
|
|
}
|
|
|
|
removeListeners() {
|
|
this.listeners.forEach(listener => {
|
|
listener();
|
|
});
|
|
this.listeners = [];
|
|
}
|
|
}
|
|
|
|
return SubobjectViewConfiguration;
|
|
}
|
|
); |