mirror of
https://github.com/nasa/openmct.git
synced 2025-06-18 07:08:12 +00:00
* Added click event to simple indicator * Moved operator status plugin to Open * Implementing user role status API * Support adding indicators asynchronously * Adding user status API * Updated example user provider * Update icon with status * Adding admin indicator * Apply config options * Set status class on indicator. Clear all statuses * Show poll question in op stat indicator * Implementing status summary * Get statuses from providers. Reset statuses when poll question set * Styling for operator status - New icon glyph - IMPORTANT: OVERRIDE ANY MERGE CONFLICTS USING THIS COMMIT! - Fixed erroneous font glyph mapping; - Added default color for indicator icon; - Changed user indicator to display response when set to other than "NO_STATUS". - Standardized icon display. * Cherrypick symbols font updates from restricted-notebook branch. This is the most full and complete version of the symbols font - OVERRIDE ANY MERGE CONFLICTS WITH THIS COMMIT! * Fix positioning of popups * Also fix positioning of status indicator * Get roles by status instead of users * Refactor how status summary is determined to simplify API * Re-fetch status summary on status change * Implemented status reset * Move status into separate API * Refactor user status to its own sub-API * Create RAF utility class * Error handling * Add copyright notices * Fix test issues * Added jsdocs * Additional tests for raf utility function * Move status style configuration into Open * Move styling from the API into the view * Added some docs * Added some unit tests and fixed a bug found in the process. Tests work\! Co-authored-by: Andrew Henry <akhenry@gmail.com>
228 lines
7.4 KiB
JavaScript
228 lines
7.4 KiB
JavaScript
/*****************************************************************************
|
|
* Open MCT, Copyright (c) 2014-2022, 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([
|
|
'lodash',
|
|
'./utcTimeSystem/plugin',
|
|
'./remoteClock/plugin',
|
|
'./localTimeSystem/plugin',
|
|
'./ISOTimeFormat/plugin',
|
|
'./myItems/plugin',
|
|
'../../example/generator/plugin',
|
|
'../../example/eventGenerator/plugin',
|
|
'./autoflow/AutoflowTabularPlugin',
|
|
'./timeConductor/plugin',
|
|
'../../example/imagery/plugin',
|
|
'./imagery/plugin',
|
|
'./summaryWidget/plugin',
|
|
'./URLIndicatorPlugin/URLIndicatorPlugin',
|
|
'./telemetryMean/plugin',
|
|
'./plot/plugin',
|
|
'./charts/bar/plugin',
|
|
'./charts/scatter/plugin',
|
|
'./telemetryTable/plugin',
|
|
'./staticRootPlugin/plugin',
|
|
'./notebook/plugin',
|
|
'./displayLayout/plugin',
|
|
'./formActions/plugin',
|
|
'./folderView/plugin',
|
|
'./flexibleLayout/plugin',
|
|
'./tabs/plugin',
|
|
'./LADTable/plugin',
|
|
'./filters/plugin',
|
|
'./objectMigration/plugin',
|
|
'./goToOriginalAction/plugin',
|
|
'./openInNewTabAction/plugin',
|
|
'./clearData/plugin',
|
|
'./webPage/plugin',
|
|
'./condition/plugin',
|
|
'./conditionWidget/plugin',
|
|
'./themes/espresso',
|
|
'./themes/maelstrom',
|
|
'./themes/snow',
|
|
'./URLTimeSettingsSynchronizer/plugin',
|
|
'./notificationIndicator/plugin',
|
|
'./newFolderAction/plugin',
|
|
'./persistence/couch/plugin',
|
|
'./defaultRootName/plugin',
|
|
'./plan/plugin',
|
|
'./viewDatumAction/plugin',
|
|
'./viewLargeAction/plugin',
|
|
'./interceptors/plugin',
|
|
'./performanceIndicator/plugin',
|
|
'./CouchDBSearchFolder/plugin',
|
|
'./timeline/plugin',
|
|
'./hyperlink/plugin',
|
|
'./clock/plugin',
|
|
'./DeviceClassifier/plugin',
|
|
'./timer/plugin',
|
|
'./userIndicator/plugin',
|
|
'../../example/exampleUser/plugin',
|
|
'./localStorage/plugin',
|
|
'./operatorStatus/plugin',
|
|
'./gauge/GaugePlugin',
|
|
'./timelist/plugin'
|
|
], function (
|
|
_,
|
|
UTCTimeSystem,
|
|
RemoteClock,
|
|
LocalTimeSystem,
|
|
ISOTimeFormat,
|
|
MyItems,
|
|
GeneratorPlugin,
|
|
EventGeneratorPlugin,
|
|
AutoflowPlugin,
|
|
TimeConductorPlugin,
|
|
ExampleImagery,
|
|
ImageryPlugin,
|
|
SummaryWidget,
|
|
URLIndicatorPlugin,
|
|
TelemetryMean,
|
|
PlotPlugin,
|
|
BarChartPlugin,
|
|
ScatterPlotPlugin,
|
|
TelemetryTablePlugin,
|
|
StaticRootPlugin,
|
|
Notebook,
|
|
DisplayLayoutPlugin,
|
|
FormActions,
|
|
FolderView,
|
|
FlexibleLayout,
|
|
Tabs,
|
|
LADTable,
|
|
Filters,
|
|
ObjectMigration,
|
|
GoToOriginalAction,
|
|
OpenInNewTabAction,
|
|
ClearData,
|
|
WebPagePlugin,
|
|
ConditionPlugin,
|
|
ConditionWidgetPlugin,
|
|
Espresso,
|
|
Maelstrom,
|
|
Snow,
|
|
URLTimeSettingsSynchronizer,
|
|
NotificationIndicator,
|
|
NewFolderAction,
|
|
CouchDBPlugin,
|
|
DefaultRootName,
|
|
PlanLayout,
|
|
ViewDatumAction,
|
|
ViewLargeAction,
|
|
ObjectInterceptors,
|
|
PerformanceIndicator,
|
|
CouchDBSearchFolder,
|
|
Timeline,
|
|
Hyperlink,
|
|
Clock,
|
|
DeviceClassifier,
|
|
Timer,
|
|
UserIndicator,
|
|
ExampleUser,
|
|
LocalStorage,
|
|
OperatorStatus,
|
|
GaugePlugin,
|
|
TimeList
|
|
) {
|
|
const plugins = {};
|
|
|
|
plugins.example = {};
|
|
plugins.example.ExampleUser = ExampleUser.default;
|
|
plugins.example.ExampleImagery = ExampleImagery.default;
|
|
plugins.example.EventGeneratorPlugin = EventGeneratorPlugin.default;
|
|
plugins.example.Generator = () => GeneratorPlugin;
|
|
|
|
plugins.UTCTimeSystem = UTCTimeSystem.default;
|
|
plugins.LocalTimeSystem = LocalTimeSystem;
|
|
plugins.RemoteClock = RemoteClock.default;
|
|
|
|
plugins.MyItems = MyItems.default;
|
|
|
|
plugins.StaticRootPlugin = StaticRootPlugin.default;
|
|
|
|
/**
|
|
* A tabular view showing the latest values of multiple telemetry points at
|
|
* once. Formatted so that labels and values are aligned.
|
|
*
|
|
* @param {Object} [options] Optional settings to apply to the autoflow
|
|
* tabular view. Currently supports one option, 'type'.
|
|
* @param {string} [options.type] The key of an object type to apply this view
|
|
* to exclusively.
|
|
*/
|
|
plugins.AutoflowView = AutoflowPlugin;
|
|
|
|
plugins.Conductor = TimeConductorPlugin.default;
|
|
|
|
plugins.CouchDB = CouchDBPlugin.default;
|
|
|
|
plugins.ImageryPlugin = ImageryPlugin;
|
|
plugins.Plot = PlotPlugin.default;
|
|
plugins.BarChart = BarChartPlugin.default;
|
|
plugins.ScatterPlot = ScatterPlotPlugin.default;
|
|
plugins.TelemetryTable = TelemetryTablePlugin;
|
|
|
|
plugins.SummaryWidget = SummaryWidget;
|
|
plugins.TelemetryMean = TelemetryMean;
|
|
plugins.URLIndicator = URLIndicatorPlugin;
|
|
plugins.Notebook = Notebook.default;
|
|
plugins.DisplayLayout = DisplayLayoutPlugin.default;
|
|
plugins.FormActions = FormActions;
|
|
plugins.FolderView = FolderView;
|
|
plugins.Tabs = Tabs;
|
|
plugins.FlexibleLayout = FlexibleLayout;
|
|
plugins.LADTable = LADTable.default;
|
|
plugins.Filters = Filters;
|
|
plugins.ObjectMigration = ObjectMigration.default;
|
|
plugins.GoToOriginalAction = GoToOriginalAction.default;
|
|
plugins.OpenInNewTabAction = OpenInNewTabAction.default;
|
|
plugins.ClearData = ClearData;
|
|
plugins.WebPage = WebPagePlugin.default;
|
|
plugins.Espresso = Espresso.default;
|
|
plugins.Maelstrom = Maelstrom.default;
|
|
plugins.Snow = Snow.default;
|
|
plugins.Condition = ConditionPlugin.default;
|
|
plugins.ConditionWidget = ConditionWidgetPlugin.default;
|
|
plugins.URLTimeSettingsSynchronizer = URLTimeSettingsSynchronizer.default;
|
|
plugins.NotificationIndicator = NotificationIndicator.default;
|
|
plugins.NewFolderAction = NewFolderAction.default;
|
|
plugins.ISOTimeFormat = ISOTimeFormat.default;
|
|
plugins.DefaultRootName = DefaultRootName.default;
|
|
plugins.PlanLayout = PlanLayout.default;
|
|
plugins.ViewDatumAction = ViewDatumAction.default;
|
|
plugins.ViewLargeAction = ViewLargeAction.default;
|
|
plugins.ObjectInterceptors = ObjectInterceptors.default;
|
|
plugins.PerformanceIndicator = PerformanceIndicator.default;
|
|
plugins.CouchDBSearchFolder = CouchDBSearchFolder.default;
|
|
plugins.Timeline = Timeline.default;
|
|
plugins.Hyperlink = Hyperlink.default;
|
|
plugins.Clock = Clock.default;
|
|
plugins.Timer = Timer.default;
|
|
plugins.DeviceClassifier = DeviceClassifier.default;
|
|
plugins.UserIndicator = UserIndicator.default;
|
|
plugins.LocalStorage = LocalStorage.default;
|
|
plugins.OperatorStatus = OperatorStatus.default;
|
|
plugins.Gauge = GaugePlugin.default;
|
|
plugins.Timelist = TimeList.default;
|
|
|
|
return plugins;
|
|
});
|