From 266ed35142c52d89173365d44d48d321795222d8 Mon Sep 17 00:00:00 2001 From: David Tsay <3614296+davetsay@users.noreply.github.com> Date: Wed, 31 Jul 2024 10:54:01 -0700 Subject: [PATCH] Bump core openmct dependency (#184) --- .webpack/webpack.common.js | 28 +- .webpack/webpack.dev.js | 5 - .webpack/webpack.prod.js | 8 +- config.js | 16 + index.html | 1 + loader.js | 10 +- package.json | 8 +- src/AMMOSPlugins.js | 10 +- .../ImportWithDatasetsFormComponent.vue | 2 +- .../importWithDatasetsModifier.js | 22 +- ...s-view-timeout.vue => AlarmsAutoclear.vue} | 2 +- src/alarmsView/AlarmsAutoclearViewProvider.js | 61 +++ src/alarmsView/AlarmsViewProvider.js | 40 +- src/alarmsView/plugin.js | 51 +-- .../CellFormatConfigurationComponent.js | 39 -- .../CellFormatConfigurationComponent.vue | 50 +++ .../channelTablePlugin/ChannelTable.js | 272 +++++++------- .../ChannelTableFormatViewProvider.js | 107 +++--- .../channelTablePlugin/ChannelTableRow.js | 49 ++- .../ChannelTableRowCollection.js | 251 ++++++------- .../ChannelTableViewProvider.js | 39 +- .../EmptyChannelTableRow.js | 71 ++-- .../cell-format-configuration.html | 9 - src/channelTable/channelTablePlugin/plugin.js | 9 +- .../channelTableSetPlugin/ChannelRow.vue | 3 +- .../channelTableSetPlugin/ChannelTableSet.vue | 12 +- .../ChannelTableSetView.js | 31 +- ...taIndicator.vue => ClearDataIndicator.vue} | 0 src/clearDataIndicator/plugin.js | 40 +- src/commandEventsView/CommandEventsTable.js | 32 +- .../CommandEventsViewProvider.js | 93 +++-- src/commandEventsView/plugin.js | 7 +- src/containerView/FolderGridViewProvider.js | 26 +- src/containerView/FolderListViewProvider.js | 28 +- .../UrlField/UrlFieldFormController.js | 56 +-- src/dictionaryView/dictionaryViewProvider.js | 33 +- src/dictionaryView/dictionaryViewTable.js | 4 +- src/dictionaryView/plugin.js | 4 +- src/evrView/EVRTable.js | 4 - .../EVRViewLevelsConfigurationView.vue | 2 +- .../EVRViewLevelsConfigurationViewProvider.js | 29 +- src/evrView/EVRViewProvider.js | 42 ++- src/evrView/plugin.js | 9 +- .../FrameEventFilterTable.js | 4 - .../FrameEventFilterViewProvider.js | 42 ++- src/frameEventFilterView/plugin.js | 4 +- .../BadFramesTelemetryTable.js | 4 +- .../components/frameAccountability.js | 12 +- .../frameAccountabilityBadFrames.vue | 5 +- .../frameAccountabilityViewProvider.js | 35 +- src/frameaccountability/plugin.js | 4 +- .../FrameWatchConfigurationViewProvider.js | 32 +- src/framesummary/FrameWatchTable.js | 4 +- .../FrameWatchTableConfiguration.js | 4 +- src/framesummary/FrameWatchViewProvider.js | 37 +- .../components/FrameWatchViewComponent.vue | 2 +- src/framesummary/plugin.js | 6 +- src/globalFilters/plugin.js | 38 +- src/lib/HistoricalContextTableRow.js | 19 +- src/mcwsIndicator/MCWSIndicator.vue | 5 +- src/mcwsIndicator/MCWSIndicatorSpec.js | 65 ++-- src/mcwsIndicator/plugin.js | 41 +- src/messagesView/MessagesTable.js | 4 - src/messagesView/MessagesViewProvider.js | 40 +- src/messagesView/plugin.js | 5 +- src/metadataAction/metadataAction.js | 89 +++-- .../indicator/historicalSessionIndicator.vue | 2 +- src/multipleHistoricalSessions/plugin.js | 83 ++-- .../historicalSessionSelector.vue | 7 +- .../sessionTable/SessionTable.js | 4 +- src/packetQuery/PacketQueryViewProvider.js | 26 +- .../components/PacketQueryView.vue | 14 +- src/packetSummary/PacketSummaryTable.js | 4 - .../PacketSummaryViewProvider.js | 37 +- .../components/PacketSummaryViewComponent.vue | 2 +- src/packetSummary/plugin.js | 7 +- src/product-status/DATColumn.js | 16 +- .../DataProductInspectorViewProvider.js | 59 +++ src/product-status/DataProductRow.js | 202 +++++----- src/product-status/DataProductTable.js | 353 +++++++++--------- src/product-status/DataProductViewProvider.js | 46 ++- src/product-status/EMDColumn.js | 16 +- src/product-status/EMDPreviewColumn.js | 16 +- src/product-status/TXTColumn.js | 15 +- src/product-status/data-product-autoclear.vue | 2 +- src/product-status/plugin.js | 63 +--- src/realtimeIndicator/RealtimeIndicator.vue | 2 +- src/realtimeIndicator/plugin.js | 47 +-- .../components/RealtimeSessionIndicator.vue | 2 +- .../components/RealtimeSessionSelector.vue | 2 +- src/realtimeSessions/plugin.js | 48 +-- src/services/session/SessionURLHandler.js | 2 + src/tables/VistaTableConfigurationProvider.js | 113 +++--- src/utils/mountVueComponent.js | 15 + src/venues/VenueService.js | 33 +- 95 files changed, 1852 insertions(+), 1502 deletions(-) rename src/alarmsView/{alarms-view-timeout.vue => AlarmsAutoclear.vue} (98%) create mode 100644 src/alarmsView/AlarmsAutoclearViewProvider.js delete mode 100644 src/channelTable/channelTablePlugin/CellFormatConfigurationComponent.js create mode 100644 src/channelTable/channelTablePlugin/CellFormatConfigurationComponent.vue delete mode 100644 src/channelTable/channelTablePlugin/cell-format-configuration.html rename src/clearDataIndicator/{indicator/clearDataIndicator.vue => ClearDataIndicator.vue} (100%) create mode 100644 src/product-status/DataProductInspectorViewProvider.js create mode 100644 src/utils/mountVueComponent.js diff --git a/.webpack/webpack.common.js b/.webpack/webpack.common.js index fc7d337..70fd2c8 100644 --- a/.webpack/webpack.common.js +++ b/.webpack/webpack.common.js @@ -41,6 +41,8 @@ const config = { * 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", @@ -53,6 +55,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 **/ @@ -72,8 +75,9 @@ const config = { /** * Telemetry Table Components **/ - "openmct.tables.components.Table": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/table.vue"), - "openmct.tables.components.TableConfiguration": path.join(__dirname, '..', "node_modules/openmct/src/plugins/telemetryTable/components/table-configuration.vue"), + "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"), + "vue": "vue/dist/vue.esm-bundler.js" } }, plugins: [ @@ -81,7 +85,9 @@ const config = { __VISTA_VERSION__: `'${packageDefinition.version}'`, __VISTA_BUILD_DATE__: `'${new Date()}'`, __VISTA_REVISION__: `'${gitRevision}'`, - __VISTA_BUILD_BRANCH__: `'${gitBranch}'` + __VISTA_BUILD_BRANCH__: `'${gitBranch}'`, + __VUE_OPTIONS_API__: true, // enable/disable Options API support, default: true + __VUE_PROD_DEVTOOLS__: false // enable/disable devtools support in production, default: false }), new VueLoaderPlugin(), new MiniCssExtractPlugin({ @@ -98,13 +104,23 @@ const config = { { loader: 'css-loader' }, - 'resolve-url-loader', - 'sass-loader' + { + loader: 'resolve-url-loader' + }, + { + loader: 'sass-loader', + options: { sourceMap: true } + } ] }, { test: /\.vue$/, - use: 'vue-loader' + loader: 'vue-loader', + options: { + compilerOptions: { + whitespace: 'preserve' + } + } }, { test: /\.html$/, diff --git a/.webpack/webpack.dev.js b/.webpack/webpack.dev.js index 655e7af..e6b86e6 100644 --- a/.webpack/webpack.dev.js +++ b/.webpack/webpack.dev.js @@ -21,11 +21,6 @@ module.exports = merge(common, { entry: { config: './config.js' }, - resolve: { - alias: { - vue: path.join(__dirname, '..', 'node_modules/vue/dist/vue.js'), - } - }, plugins: [ new CopyWebpackPlugin({ patterns: [ diff --git a/.webpack/webpack.prod.js b/.webpack/webpack.prod.js index adc6b9e..6767fc4 100644 --- a/.webpack/webpack.prod.js +++ b/.webpack/webpack.prod.js @@ -11,11 +11,5 @@ const path = require('path'); /** @type {import('webpack').Configuration} */ module.exports = merge(common, { - mode: 'production', - resolve: { - alias: { - "vue": path.join(__dirname, '..', 'node_modules/vue/dist/vue.min.js'), - } - }, - devtool: 'source-map' + mode: 'production' }); diff --git a/config.js b/config.js index bbfc180..fcb2bd3 100644 --- a/config.js +++ b/config.js @@ -481,6 +481,22 @@ } ], */ + /** + * Table Performance Mode Configuration + * Can increase performance by limiting the maximum rows retained and displayed by tables + * Affects all bounded table types such as Telemetry and EVR tables + * Does not affect latest available tables such as Channel tables + * @typedef TablePerformanceOptions + * @type {object} + * @property {('performance'|'unlimited')} telemetryMode performance mode limits the maximum table rows + * @property {Boolean} persistModeChange whether changes in the UI are persisted with the table + * @property {Number} rowLimit the maximum number of rows in performance mode + */ + tablePerformanceOptions: { + telemetryMode: 'unlimited', + persistModeChange: false, + rowLimit: 50 + }, /** * Developer Settings-- do not modify these unless you know what * they do! diff --git a/index.html b/index.html index 23013c8..2ec3d9d 100644 --- a/index.html +++ b/index.html @@ -20,5 +20,6 @@
+