diff --git a/.webpack/webpack.common.js b/.webpack/webpack.common.js index 70fd2c8..00fb50c 100644 --- a/.webpack/webpack.common.js +++ b/.webpack/webpack.common.js @@ -37,17 +37,29 @@ const config = { }, resolve: { alias: { + /** + * Open MCT Source Paths + * TODO FIXME these rely on openmct core source paths becase we extend core code directly + */ + "@": path.join(__dirname, '..', "node_modules/openmct/src"), + "objectUtils": path.join(__dirname, '..', 'node_modules/openmct/src/api/objects/object-utils.js'), + "utils": path.join(__dirname, '..', 'node_modules/openmct/src/utils'), + "openmct.views.FolderGridViewComponent": path.join(__dirname, '..', "node_modules/openmct/src/plugins/folderView/components/GridView.vue"), + "openmct.views.FolderListViewComponent": path.join(__dirname, '..', "node_modules/openmct/src/plugins/folderView/components/ListView.vue"), + "openmct.tables.TelemetryTable": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTable.js"), + "openmct.tables.TelemetryTableColumn": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableColumn.js"), + "openmct.tables.TelemetryTableRow": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableRow.js"), + "openmct.tables.TelemetryTableConfiguration": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableConfiguration.js"), + "openmct.tables.collections.TableRowCollection": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/collections/TableRowCollection.js"), + "openmct.tables.components.Table": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/TableComponent.vue"), + "openmct.tables.components.TableConfiguration": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/TableConfiguration.vue"), /** * Globals **/ "openmct": path.join(__dirname, '..', "node_modules/openmct/dist/openmct.js"), - // this is a core openmct alias required to resolve '@' in core components - "@": path.join(__dirname, '..', "node_modules/openmct/src"), "saveAs": "file-saver/src/FileSaver.js", - "EventEmitter": "eventemitter3", "bourbon": "bourbon.scss", "printj": path.join(__dirname, '..', "node_modules/printj/dist/printj.min.js"), - "styles": path.join(__dirname, '..', "node_modules/openmct/src/styles"), /** * VISTA Paths **/ @@ -55,28 +67,7 @@ const config = { "services": path.join(__dirname, '..', "src/services"), "lib": path.join(__dirname, '..', "src/lib"), "tables": path.join(__dirname, '..', "src/tables"), - "utils": path.join(__dirname, '..', "src/utils"), - /** - * Open MCT Folder View Components - **/ - "openmct.views.FolderGridViewComponent": path.join(__dirname, '..', "node_modules/openmct/src/plugins/folderView/components/GridView.vue"), - "openmct.views.FolderListViewComponent": path.join(__dirname, '..', "node_modules/openmct/src/plugins/folderView/components/ListView.vue"), - /** - * Open MCT Telemetry Tables - **/ - "openmct.tables.TelemetryTable": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTable.js"), - "openmct.tables.TelemetryTableColumn": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableColumn.js"), - "openmct.tables.TelemetryTableRow": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableRow.js"), - "openmct.tables.TelemetryTableConfiguration": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/TelemetryTableConfiguration.js"), - /** - * Telemetry Table Collections - **/ - "openmct.tables.collections.TableRowCollection": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/collections/TableRowCollection.js"), - /** - * Telemetry Table Components - **/ - "openmct.tables.components.Table": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/TableComponent.vue"), - "openmct.tables.components.TableConfiguration": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/TableConfiguration.vue"), + "ommUtils": path.join(__dirname, '..', "src/utils"), "vue": "vue/dist/vue.esm-bundler.js" } }, @@ -118,6 +109,7 @@ const config = { loader: 'vue-loader', options: { compilerOptions: { + hoistStatic: false, whitespace: 'preserve' } } diff --git a/.webpack/webpack.dev.js b/.webpack/webpack.dev.js index e6b86e6..0e15333 100644 --- a/.webpack/webpack.dev.js +++ b/.webpack/webpack.dev.js @@ -48,7 +48,6 @@ module.exports = merge(common, { }, devtool: 'eval-source-map', devServer: { - open: true, devMiddleware: { writeToDisk: (filePathString) => { const filePath = path.parse(filePathString); @@ -57,40 +56,46 @@ module.exports = merge(common, { return shouldWrite; } }, - watchFiles: ['**/*.css'], + watchFiles: ['src/**/*.css'], static: [{ directory: path.join(__dirname, '..', 'node_modules/openmct/dist'), - publicPath: '/node_modules/openmct/dist' + publicPath: '/node_modules/openmct/dist', + watch: false },{ directory: path.join(__dirname, '..', 'test_data'), - publicPath: '/test_data' + publicPath: '/test_data', + watch: false }], client: { progress: true, - overlay: true + overlay: false }, - proxy: { - '/mcws-test': { - target: 'http://localhost:8090', - secure: false - }, - '/mcws': { - target: apiUrl, - secure: false, - headers: proxyHeaders - }, - '/proxyUrl': { - target: proxyUrl, - secure: false, - headers: proxyHeaders, - pathRewrite: (_path, req) => { - const apiUrl = req.query.url; - console.log('Generic URL Proxy to: ', apiUrl); + proxy: [ + { + context: ['/mcws-test'], + target: 'http://localhost:8090', + secure: false, + }, + { + context: ['/mcws'], + target: apiUrl, + secure: false, + headers: proxyHeaders + }, + { + context: ['/proxyUrl'], + target: proxyUrl, + secure: false, + headers: proxyHeaders, + pathRewrite: (_path, req) => { + const apiUrl = req.query.url; + console.log('Generic URL Proxy to: ', apiUrl); - return apiUrl; - } - } - } + return apiUrl; + } + } + ], + hot: true, }, stats: 'errors-warnings' }); diff --git a/config.js b/config.js index 07c87a3..a5b4e03 100644 --- a/config.js +++ b/config.js @@ -503,8 +503,8 @@ * they do! */ assetPath: 'node_modules/openmct/dist', - // proxyUrl: 'http://localhost:8080/', - // useDeveloperStorage: true + proxyUrl: 'http://localhost:8080/', + useDeveloperStorage: true }; window.openmctMCWSConfig = openmctMCWSConfig; diff --git a/package.json b/package.json index b9930e7..9e734c2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openmct-mcws", - "version": "5.3.0-next", + "version": "5.3.0-rc1", "description": "Open MCT for MCWS", "devDependencies": { "@braintree/sanitize-url": "6.0.2", @@ -11,7 +11,7 @@ "comma-separated-values": "3.6.4", "copy-webpack-plugin": "11.0.0", "css-loader": "4.0.0", - "eventemitter3": "1.2.0", + "eventemitter3": "5.0.1", "file-saver": "2.0.5", "git-rev-sync": "3.0.2", "html2canvas": "1.4.1", @@ -32,7 +32,7 @@ "mini-css-extract-plugin": "2.6.0", "moment": "2.29.4", "node-bourbon": "^4.2.3", - "openmct": "nasa/openmct#omm-release/5.3-next", + "openmct": "nasa/openmct#omm-r5.3.0-rc1", "printj": "^1.2.1", "raw-loader": "^0.5.1", "resolve-url-loader": "5.0.0", @@ -42,10 +42,10 @@ "style-loader": "^1.0.1", "vue": "3.3.8", "vue-loader": "16.8.3", - "webpack": "5.76.3", - "webpack-cli": "5.0.0", - "webpack-dev-server": "4.11.1", - "webpack-merge": "5.8.0", + "webpack": "5.90.3", + "webpack-cli": "5.1.1", + "webpack-dev-server": "5.0.2", + "webpack-merge": "5.10.0", "zepto": "^1.2.0" }, "scripts": { diff --git a/pom.xml b/pom.xml index 97c1ec5..1a6f548 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ gov.nasa.arc.wtd openmct-client Open MCT for MCWS Client - 5.3.0-next + 5.3.0-rc1 war diff --git a/src/AMMOSPlugins.js b/src/AMMOSPlugins.js index eac0b73..26c6863 100644 --- a/src/AMMOSPlugins.js +++ b/src/AMMOSPlugins.js @@ -77,7 +77,7 @@ define([ openmct.install(new FormatPlugin(options)); - const timePlugin = new TimePlugin(openmct, options.time); + const timePlugin = new TimePlugin.default(options.time); openmct.install(timePlugin); const formatKey = options.time.utcFormat; diff --git a/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js b/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js index 225f907..27c18b9 100644 --- a/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js +++ b/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js @@ -1,5 +1,5 @@ import ImportWithDatasetsFormComponent from './ImportWithDatasetsFormComponent.vue'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import DatasetCache from 'services/dataset/DatasetCache'; import Types from 'types/types'; diff --git a/src/alarmsView/AlarmsAutoclearViewProvider.js b/src/alarmsView/AlarmsAutoclearViewProvider.js index 593b257..1106033 100644 --- a/src/alarmsView/AlarmsAutoclearViewProvider.js +++ b/src/alarmsView/AlarmsAutoclearViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import AlarmsAutoclear from './AlarmsAutoclear.vue'; import TelemetryTableConfiguration from 'openmct.tables.TelemetryTableConfiguration'; diff --git a/src/alarmsView/AlarmsViewProvider.js b/src/alarmsView/AlarmsViewProvider.js index 7730ae6..bd3392b 100644 --- a/src/alarmsView/AlarmsViewProvider.js +++ b/src/alarmsView/AlarmsViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import TableComponent from 'openmct.tables.components.Table'; import AlarmsTable from './AlarmsTable.js'; diff --git a/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js b/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js index 5a3fe1c..e08c8b9 100644 --- a/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js +++ b/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js @@ -1,6 +1,6 @@ import CellFormatConfigurationComponent from './CellFormatConfigurationComponent.vue'; import TelemetryTableConfiguration from 'openmct.tables.TelemetryTableConfiguration'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default function ChannelTableFormatViewProvider(openmct, options) { return { diff --git a/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js b/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js index 1ce7f60..ff94599 100644 --- a/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js +++ b/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js @@ -1,6 +1,6 @@ import ChannelTable from './ChannelTable'; import TableComponent from 'openmct.tables.components.Table'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class ChannelTableViewProvider { constructor(openmct, options) { diff --git a/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js b/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js index af34709..2766cc2 100644 --- a/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js +++ b/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js @@ -1,5 +1,5 @@ import ChannelTableSet from './ChannelTableSet.vue'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class ChannelTableSetView { constructor(openmct, domainObject, objectPath) { diff --git a/src/clearDataIndicator/plugin.js b/src/clearDataIndicator/plugin.js index 9faba8b..9fb75ad 100644 --- a/src/clearDataIndicator/plugin.js +++ b/src/clearDataIndicator/plugin.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import ClearDataIndicator from './ClearDataIndicator.vue'; export default function plugin(globalStalenessMs) { diff --git a/src/commandEventsView/CommandEventsViewProvider.js b/src/commandEventsView/CommandEventsViewProvider.js index cbfbe96..67ee33f 100644 --- a/src/commandEventsView/CommandEventsViewProvider.js +++ b/src/commandEventsView/CommandEventsViewProvider.js @@ -1,6 +1,6 @@ import CommandEventsTable from './CommandEventsTable.js'; import TableComponent from 'openmct.tables.components.Table'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class CommandEventsViewProvider { constructor(openmct, options) { diff --git a/src/containerView/FolderGridViewProvider.js b/src/containerView/FolderGridViewProvider.js index 7f618a0..a3d9435 100644 --- a/src/containerView/FolderGridViewProvider.js +++ b/src/containerView/FolderGridViewProvider.js @@ -1,5 +1,5 @@ import FolderGridViewComponent from 'openmct.views.FolderGridViewComponent'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class FolderGridView { constructor(openmct, types) { diff --git a/src/containerView/FolderListViewProvider.js b/src/containerView/FolderListViewProvider.js index 184bb47..830234d 100644 --- a/src/containerView/FolderListViewProvider.js +++ b/src/containerView/FolderListViewProvider.js @@ -1,5 +1,5 @@ import FolderListViewComponent from 'openmct.views.FolderListViewComponent'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class FolderListView { constructor(openmct, types) { diff --git a/src/customForms/UrlField/UrlFieldFormController.js b/src/customForms/UrlField/UrlFieldFormController.js index e1e343d..5eced73 100644 --- a/src/customForms/UrlField/UrlFieldFormController.js +++ b/src/customForms/UrlField/UrlFieldFormController.js @@ -1,5 +1,5 @@ import UrlField from './UrlField.vue' -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default function UrlFieldFormController(openmct) { let _destroy = null; diff --git a/src/dictionaryView/dictionaryViewProvider.js b/src/dictionaryView/dictionaryViewProvider.js index 332b783..ad7485f 100644 --- a/src/dictionaryView/dictionaryViewProvider.js +++ b/src/dictionaryView/dictionaryViewProvider.js @@ -1,6 +1,6 @@ import DictionaryView from './components/dictionaryView.vue'; import DictionaryViewTable from './dictionaryViewTable.js'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class DictionaryViewProvider { constructor(openmct, options) { diff --git a/src/evrView/EVRViewLevelsConfigurationViewProvider.js b/src/evrView/EVRViewLevelsConfigurationViewProvider.js index b48cf61..8356ae2 100644 --- a/src/evrView/EVRViewLevelsConfigurationViewProvider.js +++ b/src/evrView/EVRViewLevelsConfigurationViewProvider.js @@ -1,5 +1,5 @@ import EVRViewLevelsConfigurationView from './EVRViewLevelsConfigurationView.vue' -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default function EVRViewLevelsConfigurationViewProvider(options) { return { diff --git a/src/evrView/EVRViewProvider.js b/src/evrView/EVRViewProvider.js index 379c2cb..982260e 100644 --- a/src/evrView/EVRViewProvider.js +++ b/src/evrView/EVRViewProvider.js @@ -1,6 +1,6 @@ import EVRTable from './EVRTable'; import TableComponent from 'openmct.tables.components.Table'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; const RESTRICTED_VIEWS = ['plot-single', 'table']; const EVR_SOURCES = [ diff --git a/src/frameEventFilterView/FrameEventFilterViewProvider.js b/src/frameEventFilterView/FrameEventFilterViewProvider.js index 43034de..ed95c5e 100644 --- a/src/frameEventFilterView/FrameEventFilterViewProvider.js +++ b/src/frameEventFilterView/FrameEventFilterViewProvider.js @@ -1,6 +1,6 @@ import FrameEventFilterTable from './FrameEventFilterTable.js'; import TableComponent from 'openmct.tables.components.Table'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class FrameEventFilterViewProvider { constructor(openmct, options) { diff --git a/src/frameaccountability/frameAccountabilityViewProvider.js b/src/frameaccountability/frameAccountabilityViewProvider.js index c3f427e..5f1cc74 100644 --- a/src/frameaccountability/frameAccountabilityViewProvider.js +++ b/src/frameaccountability/frameAccountabilityViewProvider.js @@ -1,6 +1,6 @@ import frameAccountability from './components/frameAccountability'; import BadFramesTelemetryTable from './BadFramesTelemetryTable'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; const FLAG_COLORS = { 'InSync': '#7FFF00', diff --git a/src/framesummary/FrameWatchConfigurationViewProvider.js b/src/framesummary/FrameWatchConfigurationViewProvider.js index 1d7ce60..0c242d1 100644 --- a/src/framesummary/FrameWatchConfigurationViewProvider.js +++ b/src/framesummary/FrameWatchConfigurationViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import FrameWatchTableConfiguration from './FrameWatchTableConfiguration'; import TableConfigurationComponent from 'openmct.tables.components.TableConfiguration'; diff --git a/src/framesummary/FrameWatchViewProvider.js b/src/framesummary/FrameWatchViewProvider.js index bdcec5d..16e649f 100644 --- a/src/framesummary/FrameWatchViewProvider.js +++ b/src/framesummary/FrameWatchViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import FrameWatchTable from './FrameWatchTable'; import FrameWatchViewComponent from './components/FrameWatchViewComponent.vue'; import { FRAME_WATCH_TYPE } from './config'; diff --git a/src/globalFilters/plugin.js b/src/globalFilters/plugin.js index 0c093ad..4317b00 100644 --- a/src/globalFilters/plugin.js +++ b/src/globalFilters/plugin.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import GlobalFilterIndicator from './GlobalFilterIndicator.vue'; export default function plugin(config) { diff --git a/src/mcwsIndicator/MCWSIndicatorSpec.js b/src/mcwsIndicator/MCWSIndicatorSpec.js index 3574e67..0398e87 100644 --- a/src/mcwsIndicator/MCWSIndicatorSpec.js +++ b/src/mcwsIndicator/MCWSIndicatorSpec.js @@ -1,6 +1,6 @@ import MCWSIndicator from './MCWSIndicator.vue'; import mcws from 'services/mcws/mcws' -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import { nextTick } from 'vue'; function getText(el) { diff --git a/src/mcwsIndicator/plugin.js b/src/mcwsIndicator/plugin.js index d146e36..41c7e80 100644 --- a/src/mcwsIndicator/plugin.js +++ b/src/mcwsIndicator/plugin.js @@ -1,5 +1,5 @@ import MCWSIndicator from './MCWSIndicator.vue'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default function MCWSIndicatorPlugin() { return function install(openmct) { diff --git a/src/messagesView/MessagesViewProvider.js b/src/messagesView/MessagesViewProvider.js index a8bd5e3..0f61baf 100644 --- a/src/messagesView/MessagesViewProvider.js +++ b/src/messagesView/MessagesViewProvider.js @@ -1,6 +1,6 @@ import MessagesTable from './MessagesTable.js'; import TableComponent from 'openmct.tables.components.Table'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class MessagesViewProvider { constructor(openmct, options) { diff --git a/src/metadataAction/metadataAction.js b/src/metadataAction/metadataAction.js index c44dd53..1d07d68 100644 --- a/src/metadataAction/metadataAction.js +++ b/src/metadataAction/metadataAction.js @@ -1,5 +1,5 @@ import MetadataListView from './components/metadataList.vue'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class MetadataAction { constructor(openmct) { diff --git a/src/multipleHistoricalSessions/plugin.js b/src/multipleHistoricalSessions/plugin.js index d7760ce..3ba0ab1 100644 --- a/src/multipleHistoricalSessions/plugin.js +++ b/src/multipleHistoricalSessions/plugin.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import HistoricalSessionIndicator from './indicator/historicalSessionIndicator.vue'; import SessionTable from './sessionTable/SessionTable'; import HistoricalSessionMetadata from './HistoricalSessionMetadata'; diff --git a/src/packetQuery/PacketQueryViewProvider.js b/src/packetQuery/PacketQueryViewProvider.js index 2a440d9..d6f6e76 100644 --- a/src/packetQuery/PacketQueryViewProvider.js +++ b/src/packetQuery/PacketQueryViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import PacketQueryView from './components/PacketQueryView.vue'; export default class PacketQueryViewProvider { diff --git a/src/packetSummary/PacketSummaryViewProvider.js b/src/packetSummary/PacketSummaryViewProvider.js index 75a4407..48b12d0 100644 --- a/src/packetSummary/PacketSummaryViewProvider.js +++ b/src/packetSummary/PacketSummaryViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import PacketSummaryTable from './PacketSummaryTable.js'; import PacketSummaryViewComponent from './components/PacketSummaryViewComponent.vue'; diff --git a/src/product-status/DataProductInspectorViewProvider.js b/src/product-status/DataProductInspectorViewProvider.js index 8e22d6b..2610d4f 100644 --- a/src/product-status/DataProductInspectorViewProvider.js +++ b/src/product-status/DataProductInspectorViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import TelemetryTableConfiguration from 'openmct.tables.TelemetryTableConfiguration'; import DataProductAutoclear from './data-product-autoclear.vue'; diff --git a/src/product-status/DataProductViewProvider.js b/src/product-status/DataProductViewProvider.js index fa400ed..149fcfe 100644 --- a/src/product-status/DataProductViewProvider.js +++ b/src/product-status/DataProductViewProvider.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import TableComponent from 'openmct.tables.components.Table'; import DataProductTable from './DataProductTable.js'; diff --git a/src/realtimeIndicator/plugin.js b/src/realtimeIndicator/plugin.js index 2f175a9..322db8c 100644 --- a/src/realtimeIndicator/plugin.js +++ b/src/realtimeIndicator/plugin.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import RealtimeIndicator from './RealtimeIndicator.vue'; export default function plugin(vistaTime) { diff --git a/src/realtimeSessions/plugin.js b/src/realtimeSessions/plugin.js index ab72f3b..af23807 100644 --- a/src/realtimeSessions/plugin.js +++ b/src/realtimeSessions/plugin.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import RealtimeSessionIndicator from './components/RealtimeSessionIndicator.vue'; export default function plugin() { diff --git a/src/services/filtering/FilterService.js b/src/services/filtering/FilterService.js index 47dc5f1..5ba782f 100644 --- a/src/services/filtering/FilterService.js +++ b/src/services/filtering/FilterService.js @@ -1,4 +1,4 @@ -import EventEmitter from 'EventEmitter'; +import { EventEmitter } from 'eventemitter3'; import FilterURLHandler from './FilterUrlHandler'; import isEqual from 'lodash/isequal'; import pickBy from 'lodash/pickby'; diff --git a/src/tables/VistaTableConfigurationProvider.js b/src/tables/VistaTableConfigurationProvider.js index fbd5471..10830d0 100644 --- a/src/tables/VistaTableConfigurationProvider.js +++ b/src/tables/VistaTableConfigurationProvider.js @@ -1,7 +1,7 @@ import TelemetryTableConfiguration from 'openmct.tables.TelemetryTableConfiguration'; import TableConfigurationComponent from 'openmct.tables.components.TableConfiguration'; -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; export default class VistaTableConfigurationProvider { constructor (key, name, type, options) { diff --git a/src/time/Clock.js b/src/time/Clock.js index 1557023..cfb1683 100644 --- a/src/time/Clock.js +++ b/src/time/Clock.js @@ -1,37 +1,25 @@ -define([ - '../lib/extend', - 'EventEmitter', - 'lodash' -], function ( - extend, - EventEmitter, - _ -) { +import { EventEmitter } from 'eventemitter3'; - function Clock() { - this.value = 0; - if (this.initialize) { - this.initialize.apply(this, arguments); - } - } - - Clock.extend = extend; - - _.assignIn(Clock.prototype, EventEmitter.prototype); +export default class Clock extends EventEmitter { + constructor() { + super(); - Clock.prototype.cssClass = 'icon-clock'; + this.value = 0; + this.cssClass = 'icon-clock'; - Clock.prototype.currentValue = function () { - return this.value; - }; - - Clock.prototype.tick = function (value) { - if (value !== this.value) { - this.value = value; - this.emit('tick', value); - } - }; + if (this.initialize) { + this.initialize.apply(this, arguments); + } + } - return Clock; + currentValue() { + return this.value; + } -}); + tick(value) { + if (value !== this.value) { + this.value = value; + this.emit('tick', value); + } + } +} diff --git a/src/time/LADClock.js b/src/time/LADClock.js index 9bfa09a..eaae989 100644 --- a/src/time/LADClock.js +++ b/src/time/LADClock.js @@ -1,17 +1,10 @@ -define([ - './Clock' -], function ( - Clock -) { +import Clock from "./Clock.js"; - var LADClock = Clock.extend({ - initialize: function (source) { - this.description = "Ticks based on the latest " + source + - " value received from the server."; - this.key = source + '.lad'; - this.name = "Latest " + source; - } - }); +export default class LADClock extends Clock { + initialize(source) { + this.description = `Ticks based on the latest ${source} value received from the server.`; + this.key = `${source}.lad`; + this.name = `Latest ${source}`; + } +} - return LADClock; -}); diff --git a/src/time/UTCClock.js b/src/time/UTCClock.js index 3619a1b..1ca7962 100644 --- a/src/time/UTCClock.js +++ b/src/time/UTCClock.js @@ -1,22 +1,20 @@ -define([ - './Clock' -], function ( - Clock -) { +import Clock from './Clock.js'; - var UTCClock = Clock.extend({ - key: 'utc.local', - name: 'Local UTC', - description: 'Ticks based on your local computer time.', - initialize: function () { - this.generateTick = this.generateTick.bind(this); - this.generateTick(); - setInterval(this.generateTick, 1000/30); - }, - generateTick: function () { - this.tick(Date.now()); - } - }); +export default class UTCClock extends Clock { + constructor() { + super(); - return UTCClock; -}); + this.key = 'utc.local'; + this.name = 'Local UTC'; + this.description = 'Ticks based on your local computer time.'; + } + + initialize() { + this.generateTick(); + setInterval(this.generateTick.bind(this), 1000/30); + } + + generateTick() { + super.tick(Date.now()); + } +} diff --git a/src/time/plugin.js b/src/time/plugin.js index 9c0eb55..f59716b 100644 --- a/src/time/plugin.js +++ b/src/time/plugin.js @@ -1,158 +1,143 @@ -define([ - './ERTTimeSystem', - './SCETTimeSystem', - './SCLKTimeSystem', - './MSLSolTimeSystem', - './LMSTTimeSystem', - './UTCClock', - './LADClock', - '../formats/MSLSOLFormat', - '../formats/LMSTFormat', - 'moment' -], function ( - ERTTimeSystem, - SCETTimeSystem, - SCLKTimeSystem, - MSLSolTimeSystem, - LMSTTimeSystem, - UTCClock, - LADClock, - MSLSolFormat, - LMSTFormat, - moment -) { - function TimePlugin(_openmct, options) { - var SYSTEM_MAP = { - ert: ERTTimeSystem, - scet: SCETTimeSystem, - sclk: SCLKTimeSystem, - 'msl.sol': MSLSolTimeSystem, - lmst: LMSTTimeSystem - }; - - var TODAY_BOUNDS = { - start: moment.utc().startOf('day').valueOf(), - end: moment.utc().endOf('day').valueOf() - }; - - var solFormat = new MSLSolFormat(_openmct); - var lmstFormat = new LMSTFormat(_openmct); - var nowLST = solFormat.format(moment.utc()); - var sol = Number(/SOL-(\d+)M/.exec(nowLST)[1]); - - var BOUNDS_MAP = { - ert: TODAY_BOUNDS, - scet: TODAY_BOUNDS, - sclk: { - start: 1, - end: 10000 - }, - 'msl.sol': { - start: solFormat.parse('SOL-' + sol), - end: solFormat.parse('SOL-' + (sol + 1)) - }, - lmst: { - start: lmstFormat.parse('SOL-' + sol), - end: lmstFormat.parse('SOL-' + (sol + 1)) - } - }; +import ERTTimeSystem from './ERTTimeSystem.js'; +import SCETTimeSystem from './SCETTimeSystem.js'; +import SCLKTimeSystem from './SCLKTimeSystem.js'; +import MSLSolTimeSystem from './MSLSolTimeSystem.js'; +import LMSTTimeSystem from './LMSTTimeSystem.js'; +import UTCClock from './UTCClock.js'; +import LADClock from './LADClock.js'; +import MSLSolFormat from '../formats/MSLSOLFormat.js'; +import LMSTFormat from '../formats/LMSTFormat.js'; +import moment from 'moment'; - if (!options.timeSystems) { - console.error('Please specify one or more time systems to enable.'); - } +const SYSTEM_MAP = { + ert: ERTTimeSystem, + scet: SCETTimeSystem, + sclk: SCLKTimeSystem, + 'msl.sol': MSLSolTimeSystem, + lmst: LMSTTimeSystem +}; - if (options.lmstEpoch) { - var lmstFormatWithEpoch = new LMSTFormat(options.lmstEpoch); +export default function TimePlugin(options) { + return function install (openmct) { + var TODAY_BOUNDS = { + start: moment.utc().startOf('day').valueOf(), + end: moment.utc().endOf('day').valueOf() + }; - BOUNDS_MAP.lmst = { - start: lmstFormatWithEpoch.parse('SOL-' + sol), - end: lmstFormatWithEpoch.parse('SOL-' + (sol + 1)) - }; - } + var solFormat = new MSLSolFormat(openmct); + var lmstFormat = new LMSTFormat(openmct); + var nowLST = solFormat.format(moment.utc()); + var sol = Number(/SOL-(\d+)M/.exec(nowLST)[1]); - return function install (openmct) { - install.ladClocks = {}; - install.timeSystems = options.timeSystems; - let useUTCClock = false; - let menuOptions = []; + var BOUNDS_MAP = { + ert: TODAY_BOUNDS, + scet: TODAY_BOUNDS, + sclk: { + start: 1, + end: 10000 + }, + 'msl.sol': { + start: solFormat.parse('SOL-' + sol), + end: solFormat.parse('SOL-' + (sol + 1)) + }, + lmst: { + start: lmstFormat.parse('SOL-' + sol), + end: lmstFormat.parse('SOL-' + (sol + 1)) + } + }; + if (!options.timeSystems) { + console.error('Please specify one or more time systems to enable.'); + } - options.timeSystems.forEach(function (timeSystem) { - const key = timeSystem.key || timeSystem; + if (options.lmstEpoch) { + var lmstFormatWithEpoch = new LMSTFormat(options.lmstEpoch); - if (!SYSTEM_MAP[key]) { - console.error('Invalid timeSystem specified: ' + key); - return; - } + BOUNDS_MAP.lmst = { + start: lmstFormatWithEpoch.parse('SOL-' + sol), + end: lmstFormatWithEpoch.parse('SOL-' + (sol + 1)) + }; + } - const system = new SYSTEM_MAP[key](options.utcFormat); - openmct.time.addTimeSystem(system); + install.ladClocks = {}; + install.timeSystems = options.timeSystems; + let useUTCClock = false; + let menuOptions = []; - const systemOptions = { - timeSystem: system.key, - bounds: BOUNDS_MAP[key] - }; - if (timeSystem.presets) { - systemOptions.presets = timeSystem.presets; - } - if (timeSystem.limit) { - systemOptions.limit = timeSystem.limit; - } - if (options.records) { - systemOptions.records = options.records; - } + options.timeSystems.forEach(function (timeSystem) { + const key = timeSystem.key || timeSystem; - menuOptions.push(systemOptions); - - if (options.allowRealtime && system.isUTCBased) { - useUTCClock = true; - menuOptions.push({ - timeSystem: system.key, - clock: 'utc.local', - clockOffsets: { - start: -30 * 60 * 1000, - end: 5 * 60 * 1000 - } - }); - } - if (options.allowLAD) { - var ladClock = new LADClock(key); - install.ladClocks[key] = ladClock; - openmct.time.addClock(ladClock); - menuOptions.push({ - timeSystem: system.key, - clock: ladClock.key, - clockOffsets: { - start: -30 * 60 * 1000, - end: 5 * 60 * 1000 - } - }); + if (!SYSTEM_MAP[key]) { + console.error('Invalid timeSystem specified: ' + key); + return; + } + + const system = new SYSTEM_MAP[key](options.utcFormat); + openmct.time.addTimeSystem(system); + + const systemOptions = { + timeSystem: system.key, + bounds: BOUNDS_MAP[key] + }; + + if (timeSystem.presets) { + systemOptions.presets = timeSystem.presets; + } + if (timeSystem.limit) { + systemOptions.limit = timeSystem.limit; + } + if (options.records) { + systemOptions.records = options.records; + } + + menuOptions.push(systemOptions); + + if (options.allowRealtime && system.isUTCBased) { + useUTCClock = true; + menuOptions.push({ + timeSystem: system.key, + clock: 'utc.local', + clockOffsets: { + start: -30 * 60 * 1000, + end: 5 * 60 * 1000 } }); - if (options.defaultMode) { - let matchingConfigIndex = menuOptions.findIndex(menuOption => - menuOption.clock === options.defaultMode); - - if (matchingConfigIndex !== -1) { - let matchingConfig = menuOptions[matchingConfigIndex]; - menuOptions.splice(matchingConfigIndex, 1); - menuOptions.unshift(matchingConfig); - } else { - console.warn(`Default mode '${options.defaultMode}' specified in configuration could not be applied. - Are LAD or realtime enabled? Does the defaultMode contain a typo?`); + } + if (options.allowLAD) { + var ladClock = new LADClock(key); + install.ladClocks[key] = ladClock; + openmct.time.addClock(ladClock); + menuOptions.push({ + timeSystem: system.key, + clock: ladClock.key, + clockOffsets: { + start: -30 * 60 * 1000, + end: 5 * 60 * 1000 } - } - - if (useUTCClock) { - openmct.time.addClock(new UTCClock()); - } + }); + } + }); + if (options.defaultMode) { + let matchingConfigIndex = menuOptions.findIndex(menuOption => + menuOption.clock === options.defaultMode); - openmct.install(openmct.plugins.Conductor({ - menuOptions: menuOptions - })); + if (matchingConfigIndex !== -1) { + let matchingConfig = menuOptions[matchingConfigIndex]; + menuOptions.splice(matchingConfigIndex, 1); + menuOptions.unshift(matchingConfig); + } else { + console.warn(`Default mode '${options.defaultMode}' specified in configuration could not be applied. + Are LAD or realtime enabled? Does the defaultMode contain a typo?`); } } - return TimePlugin; -}); + if (useUTCClock) { + openmct.time.addClock(new UTCClock()); + } + + openmct.install(openmct.plugins.Conductor({ + menuOptions: menuOptions + })); + } +} diff --git a/src/venues/VenueService.js b/src/venues/VenueService.js index 94d2e81..f650f11 100644 --- a/src/venues/VenueService.js +++ b/src/venues/VenueService.js @@ -1,4 +1,4 @@ -import mount from 'utils/mountVueComponent'; +import mount from 'ommUtils/mountVueComponent'; import sessionService from '../services/session/SessionService'; import VenueDialogComponent from './components/VenueDialogComponent.vue'; import Venue from './Venue';