diff --git a/.webpack/webpack.common.js b/.webpack/webpack.common.js
index 90c0b604..69441f03 100644
--- a/.webpack/webpack.common.js
+++ b/.webpack/webpack.common.js
@@ -1,5 +1,3 @@
-/* global __dirname module */
-
const path = require('path');
const packageDefinition = require('../package.json');
const webpack = require('webpack');
@@ -100,7 +98,7 @@ const config = {
bourbon: 'bourbon.scss',
printj: path.join(__dirname, '..', 'node_modules/printj/dist/printj.min.js'),
/**
- * VISTA Paths
+ * OMM Paths
**/
types: path.join(__dirname, '..', 'src/types'),
services: path.join(__dirname, '..', 'src/services'),
@@ -112,10 +110,10 @@ const config = {
},
plugins: [
new webpack.DefinePlugin({
- __VISTA_VERSION__: `'${packageDefinition.version}'`,
- __VISTA_BUILD_DATE__: `'${new Date()}'`,
- __VISTA_REVISION__: `'${gitRevision}'`,
- __VISTA_BUILD_BRANCH__: `'${gitBranch}'`,
+ __OMM_VERSION__: `'${packageDefinition.version}'`,
+ __OMM_BUILD_DATE__: `'${new Date()}'`,
+ __OMM_REVISION__: `'${gitRevision}'`,
+ __OMM_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
}),
diff --git a/.webpack/webpack.dev.js b/.webpack/webpack.dev.js
index 735ed754..82aa5e33 100644
--- a/.webpack/webpack.dev.js
+++ b/.webpack/webpack.dev.js
@@ -1,5 +1,3 @@
-/* global __dirname module*/
-
/*
This configuration should be used for development purposes. It contains full source map, a
devServer (which be invoked using by `npm start`), and a non-minified Vue.js distribution.
diff --git a/.webpack/webpack.prod.js b/.webpack/webpack.prod.js
index 044a016f..9a2e87ff 100644
--- a/.webpack/webpack.prod.js
+++ b/.webpack/webpack.prod.js
@@ -1,5 +1,3 @@
-/* global __dirname module */
-
/*
This configuration should be used for production installs.
It is the default webpack configuration.
@@ -7,7 +5,6 @@ It is the default webpack configuration.
const { merge } = require('webpack-merge');
const common = require('./webpack.common');
-const path = require('path');
/** @type {import('webpack').Configuration} */
module.exports = merge(common, {
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 00000000..29f253eb
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,54 @@
+const globals = require('globals');
+const js = require('@eslint/js');
+const vueParser = require('vue-eslint-parser');
+const babelParser = require('@babel/eslint-parser');
+// eslint-plugin-prettier/recommended must be last in configuration
+// so that eslint-config-prettier has the opportunity to override other configs
+const prettierRecommended = require('eslint-plugin-prettier/recommended');
+
+/** @type {import('eslint').Linter.Config[]} */
+module.exports = [
+ {
+ ignores: ['**/dist/*', '**/target/*']
+ },
+ {
+ languageOptions: {
+ globals: {
+ ...globals.browser,
+ ...globals.es2024,
+ ...globals.jasmine,
+ ...globals.amd,
+ ...globals.node,
+ __OMM_VERSION__: 'readonly',
+ __OMM_BUILD_DATE__: 'readonly',
+ __OMM_REVISION__: 'readonly',
+ __OMM_BUILD_BRANCH__: 'readonly'
+ },
+ parser: vueParser,
+ parserOptions: {
+ parser: babelParser,
+ requireConfigFile: false,
+ allowImportExportEverywhere: true,
+ ecmaVersion: 'latest',
+ ecmaFeatures: {
+ impliedStrict: true
+ },
+ sourceType: 'module'
+ }
+ }
+ },
+ js.configs.recommended,
+ prettierRecommended,
+ {
+ rules: {
+ 'no-unused-vars': [
+ 'error',
+ {
+ vars: 'all',
+ args: 'none'
+ }
+ ],
+ 'prettier/prettier': 'error'
+ }
+ }
+];
diff --git a/karma.conf.js b/karma.conf.js
index 477ffe08..c6417a1c 100644
--- a/karma.conf.js
+++ b/karma.conf.js
@@ -1,5 +1,3 @@
-/*global module*/
-
const path = require('path');
module.exports = function (config) {
@@ -13,7 +11,6 @@ module.exports = function (config) {
use: {
loader: 'babel-loader',
options: {
- // eslint-disable-next-line no-undef
configFile: path.resolve(process.cwd(), 'babel.coverage.js')
}
}
diff --git a/loader.js b/loader.js
index c9b5e237..17a77244 100644
--- a/loader.js
+++ b/loader.js
@@ -141,10 +141,10 @@ define([
*/
function insertBuildInfo(markup) {
return markup
- .replace(/\$\{project\.version\}/g, __VISTA_VERSION__)
- .replace(/\$\{timestamp\}/g, __VISTA_BUILD_DATE__)
- .replace(/\$\{buildNumber\}/g, __VISTA_REVISION__)
- .replace(/\$\{branch\}/g, __VISTA_BUILD_BRANCH__);
+ .replace(/\$\{project\.version\}/g, __OMM_VERSION__)
+ .replace(/\$\{timestamp\}/g, __OMM_BUILD_DATE__)
+ .replace(/\$\{buildNumber\}/g, __OMM_REVISION__)
+ .replace(/\$\{branch\}/g, __OMM_BUILD_BRANCH__);
}
return loader;
diff --git a/package.json b/package.json
index 0dcd7c09..d9284339 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,9 @@
"version": "2512.01-next",
"description": "Open MCT for MCWS",
"devDependencies": {
+ "@babel/eslint-parser": "7.26.8",
"@braintree/sanitize-url": "6.0.4",
+ "@eslint/js": "9.19.0",
"@vue/compiler-sfc": "3.4.3",
"babel-loader": "8.2.0",
"babel-plugin-istanbul": "6.1.1",
@@ -11,9 +13,14 @@
"comma-separated-values": "3.6.4",
"copy-webpack-plugin": "12.0.2",
"css-loader": "6.10.0",
+ "eslint": "9.19.0",
+ "eslint-config-prettier": "10.0.1",
+ "eslint-plugin-prettier": "5.2.3",
+ "eslint-plugin-vue": "9.32.0",
"eventemitter3": "5.0.1",
"file-saver": "2.0.5",
"git-rev-sync": "3.0.2",
+ "globals": "15.14.0",
"html2canvas": "1.4.1",
"imports-loader": "0.8.0",
"jasmine-core": "5.1.1",
@@ -42,6 +49,7 @@
"source-map-loader": "^0.2.4",
"style-loader": "3.3.3",
"vue": "3.4.24",
+ "vue-eslint-parser": "^9.4.3",
"vue-loader": "16.8.3",
"webpack": "5.94.0",
"webpack-cli": "5.1.1",
@@ -51,8 +59,8 @@
"scripts": {
"clean": "npm cache clean --force;rm -rf ./dist ./node_modules ./target ./package-lock.json",
"start": "npx webpack serve --config ./.webpack/webpack.dev.js",
- "lint": "npx prettier --check \"**\"",
- "lint:fix": "npx prettier --write \"**\"",
+ "lint": "eslint \"**\"",
+ "lint:fix": "eslint \"**\" --fix",
"build:prod": "webpack --config ./.webpack/webpack.prod.js",
"build:dev": "webpack --config ./.webpack/webpack.dev.js",
"build:watch": "webpack --config ./.webpack/webpack.dev.js --watch",
@@ -72,4 +80,4 @@
},
"author": "",
"license": "Apache-2.0"
-}
+}
\ No newline at end of file
diff --git a/scripts/summarize-report.js b/scripts/summarize-report.js
index 66745638..cacbb2a6 100644
--- a/scripts/summarize-report.js
+++ b/scripts/summarize-report.js
@@ -296,7 +296,6 @@ if (!args['exclude-requirements-matrix']) {
console.log('Requirement ID | Test Procedures | Status');
console.log('--- | --- | --- ');
_.each(sortedRequirements, function (requirement) {
- var procedureCount = requirement.procedures.length;
var implemented = _.filter(requirement.procedures, { implemented: true }).length;
var conducted = _.filter(requirement.procedures, { conducted: true }).length;
var verified = _.filter(requirement.procedures, { conducted: true, passed: true }).length;
diff --git a/src/AMMOSPlugins.js b/src/AMMOSPlugins.js
index 84852f00..8339a3bf 100644
--- a/src/AMMOSPlugins.js
+++ b/src/AMMOSPlugins.js
@@ -87,7 +87,7 @@ define([
options: timePlugin,
format: utcFormat
});
- openmct.install(RealtimeIndicatorPlugin.default(vistaTime));
+ openmct.install(RealtimeIndicatorPlugin.default(vistaTime, utcFormat));
mcwsClient.default.configure(options);
diff --git a/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js b/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js
index 9e072d5c..bfcd3a84 100644
--- a/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js
+++ b/src/actionModifiers/ImportExportWithDatasets/importWithDatasetsModifier.js
@@ -98,6 +98,7 @@ function importWithDatasetsModifier(openmct) {
try {
json = JSON.parse(objectTree);
} catch (error) {
+ console.error('Error parsing object tree.', error);
success = false;
}
@@ -115,6 +116,7 @@ function importWithDatasetsModifier(openmct) {
component.updateData(referencedDatasets, datasets);
} catch (error) {
+ console.error('Error updating referenced datasets.', error);
success = false;
}
}
@@ -158,7 +160,7 @@ function importWithDatasetsModifier(openmct) {
};
const componentOptions = { element };
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
diff --git a/src/alarmsView/AlarmsAutoclearViewProvider.js b/src/alarmsView/AlarmsAutoclearViewProvider.js
index 0f893e08..666e3117 100644
--- a/src/alarmsView/AlarmsAutoclearViewProvider.js
+++ b/src/alarmsView/AlarmsAutoclearViewProvider.js
@@ -23,14 +23,19 @@ export default class AlarmsAutoClearViewProvider {
}
view(selection) {
+ const self = this;
const domainObject = selection[0][0].context.item;
- const tableConfiguration = new TelemetryTableConfiguration(domainObject, openmct, this.options);
+ const tableConfiguration = new TelemetryTableConfiguration(
+ domainObject,
+ this.openmct,
+ this.options
+ );
return {
show: function (element) {
const componentDefinition = {
provide: {
- openmct,
+ openmct: self.openmct,
tableConfiguration
},
components: {
@@ -42,12 +47,12 @@ export default class AlarmsAutoClearViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
this._destroy = destroy;
},
priority: function () {
- return openmct.priority.HIGH;
+ return self.openmct.priority.HIGH;
},
destroy: function () {
this._destroy?.();
diff --git a/src/alarmsView/AlarmsViewProvider.js b/src/alarmsView/AlarmsViewProvider.js
index 96ef1118..cb9845e8 100644
--- a/src/alarmsView/AlarmsViewProvider.js
+++ b/src/alarmsView/AlarmsViewProvider.js
@@ -21,8 +21,9 @@ export default class AlarmsViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- const table = new AlarmsTable(domainObject, openmct, this.options);
+ const table = new AlarmsTable(domainObject, this.openmct, this.options);
const markingProp = {
enable: true,
useAlternateControlBar: false,
@@ -43,7 +44,7 @@ export default class AlarmsViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -61,7 +62,7 @@ export default class AlarmsViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/alarmsView/plugin.js b/src/alarmsView/plugin.js
index bb75302a..707316f9 100644
--- a/src/alarmsView/plugin.js
+++ b/src/alarmsView/plugin.js
@@ -31,6 +31,7 @@ export default function AlarmsViewPlugin(options) {
'vista.alarm-view-configuration',
'Config',
'vista.alarmsView',
+ openmct,
options
)
);
diff --git a/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js b/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js
index 0533f21b..37fe933f 100644
--- a/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js
+++ b/src/channelTable/channelTablePlugin/ChannelTableFormatViewProvider.js
@@ -40,7 +40,7 @@ export default function ChannelTableFormatViewProvider(openmct, options) {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js b/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js
index fbecad30..acff3651 100644
--- a/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js
+++ b/src/channelTable/channelTablePlugin/ChannelTableViewProvider.js
@@ -25,6 +25,7 @@ export default class ChannelTableViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
const markingProp = {
enable: true,
@@ -48,7 +49,7 @@ export default class ChannelTableViewProvider {
TableComponent
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -69,7 +70,7 @@ export default class ChannelTableViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/channelTable/channelTablePlugin/plugin.js b/src/channelTable/channelTablePlugin/plugin.js
index 51d291a7..fee8d3be 100644
--- a/src/channelTable/channelTablePlugin/plugin.js
+++ b/src/channelTable/channelTablePlugin/plugin.js
@@ -32,6 +32,7 @@ export default function install(options) {
'vista.channel-list-configuration',
'Config',
CHANNEL_TABLE_KEY,
+ openmct,
options
)
);
diff --git a/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js b/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js
index 4741098b..2dd5d81d 100644
--- a/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js
+++ b/src/channelTable/channelTableSetPlugin/ChannelTableSetView.js
@@ -33,7 +33,7 @@ export default class ChannelTableSetView {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
this.component = componentInstance;
this._destroy = destroy;
diff --git a/src/channelTable/channelTableSetPlugin/ChannelTableSetViewProvider.js b/src/channelTable/channelTableSetPlugin/ChannelTableSetViewProvider.js
index c307dbe4..d25cbd0c 100644
--- a/src/channelTable/channelTableSetPlugin/ChannelTableSetViewProvider.js
+++ b/src/channelTable/channelTableSetPlugin/ChannelTableSetViewProvider.js
@@ -19,7 +19,7 @@ export default class ChannelTableSetViewProvider {
}
view(domainObject, objectPath) {
- return new ChannelTableSetView(openmct, domainObject, objectPath);
+ return new ChannelTableSetView(this.openmct, domainObject, objectPath);
}
canEdit(domainObject) {
diff --git a/src/clearDataIndicator/plugin.js b/src/clearDataIndicator/plugin.js
index 9776f6b6..01d2f498 100644
--- a/src/clearDataIndicator/plugin.js
+++ b/src/clearDataIndicator/plugin.js
@@ -14,7 +14,7 @@ export default function plugin(globalStalenessMs) {
template: ''
};
- const { componentInstance, destroy, el } = mount(componentDefinition);
+ const { destroy, el } = mount(componentDefinition);
const indicator = {
key: 'clear-data-indicator',
diff --git a/src/commandEventsView/CommandEventsViewProvider.js b/src/commandEventsView/CommandEventsViewProvider.js
index c1469786..ce387c74 100644
--- a/src/commandEventsView/CommandEventsViewProvider.js
+++ b/src/commandEventsView/CommandEventsViewProvider.js
@@ -19,8 +19,9 @@ export default class CommandEventsViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- const table = new CommandEventsTable(domainObject, openmct, this.options);
+ const table = new CommandEventsTable(domainObject, this.openmct, this.options);
const markingProp = {
enable: true,
useAlternateControlBar: false,
@@ -41,7 +42,7 @@ export default class CommandEventsViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -64,7 +65,7 @@ export default class CommandEventsViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/commandEventsView/plugin.js b/src/commandEventsView/plugin.js
index 4ab7e414..fb5638f6 100644
--- a/src/commandEventsView/plugin.js
+++ b/src/commandEventsView/plugin.js
@@ -35,6 +35,7 @@ export default function CommandEventsViewPlugin(options) {
'vista.command-events-view-configuration',
'Config',
'vista.commandEventsView',
+ openmct,
options
)
);
diff --git a/src/containerView/FolderGridViewProvider.js b/src/containerView/FolderGridViewProvider.js
index bbee1363..943e5263 100644
--- a/src/containerView/FolderGridViewProvider.js
+++ b/src/containerView/FolderGridViewProvider.js
@@ -17,6 +17,7 @@ export default class FolderGridView {
view(domainObject, objectPath) {
let _destroy = null;
+ const self = this;
return {
show: function (element) {
@@ -25,7 +26,7 @@ export default class FolderGridView {
gridViewComponent: FolderGridViewComponent
},
provide: {
- openmct,
+ openmct: self.openmct,
domainObject
},
template: ''
@@ -35,7 +36,7 @@ export default class FolderGridView {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/containerView/FolderListViewProvider.js b/src/containerView/FolderListViewProvider.js
index 2d42520d..f21a4d7a 100644
--- a/src/containerView/FolderListViewProvider.js
+++ b/src/containerView/FolderListViewProvider.js
@@ -17,6 +17,7 @@ export default class FolderListView {
view(domainObject, objectPath) {
let _destroy = null;
+ const self = this;
return {
show: function (element) {
@@ -25,7 +26,7 @@ export default class FolderListView {
listViewComponent: FolderListViewComponent
},
provide: {
- openmct,
+ openmct: self.openmct,
domainObject
},
template: ''
@@ -35,7 +36,7 @@ export default class FolderListView {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/customForms/UrlField/UrlFieldFormController.js b/src/customForms/UrlField/UrlFieldFormController.js
index 53d20c55..7135a051 100644
--- a/src/customForms/UrlField/UrlFieldFormController.js
+++ b/src/customForms/UrlField/UrlFieldFormController.js
@@ -26,7 +26,7 @@ export default function UrlFieldFormController(openmct) {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/dictionaryView/dictionaryViewProvider.js b/src/dictionaryView/dictionaryViewProvider.js
index 226b2ab3..8b29d6fb 100644
--- a/src/dictionaryView/dictionaryViewProvider.js
+++ b/src/dictionaryView/dictionaryViewProvider.js
@@ -19,8 +19,9 @@ export default class DictionaryViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- const table = new DictionaryViewTable(domainObject, openmct, this.options);
+ const table = new DictionaryViewTable(domainObject, this.openmct, this.options);
const markingProp = {
enable: true,
useAlternateControlBar: false,
@@ -42,7 +43,7 @@ export default class DictionaryViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
domainObject,
table,
objectPath,
@@ -67,7 +68,7 @@ export default class DictionaryViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/evrView/EVRViewLevelsConfigurationViewProvider.js b/src/evrView/EVRViewLevelsConfigurationViewProvider.js
index a34e097f..cfe92102 100644
--- a/src/evrView/EVRViewLevelsConfigurationViewProvider.js
+++ b/src/evrView/EVRViewLevelsConfigurationViewProvider.js
@@ -1,7 +1,7 @@
import EVRViewLevelsConfigurationView from './EVRViewLevelsConfigurationView.vue';
import mount from 'ommUtils/mountVueComponent';
-export default function EVRViewLevelsConfigurationViewProvider(options) {
+export default function EVRViewLevelsConfigurationViewProvider(openmct, options) {
return {
key: 'vista.evrView-configuration',
name: 'Level Color',
@@ -46,7 +46,7 @@ export default function EVRViewLevelsConfigurationViewProvider(options) {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/evrView/EVRViewProvider.js b/src/evrView/EVRViewProvider.js
index 4ad1a46f..c2c93742 100644
--- a/src/evrView/EVRViewProvider.js
+++ b/src/evrView/EVRViewProvider.js
@@ -37,6 +37,7 @@ export default class EVRViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
const table = new EVRTable(domainObject, this.openmct, this.options);
const markingProp = {
@@ -53,7 +54,7 @@ export default class EVRViewProvider {
TableComponent
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -79,7 +80,7 @@ export default class EVRViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/evrView/plugin.js b/src/evrView/plugin.js
index da8a9ca7..b6d635cd 100644
--- a/src/evrView/plugin.js
+++ b/src/evrView/plugin.js
@@ -21,13 +21,16 @@ export default function EVRViewPlugin(options) {
}
});
- openmct.inspectorViews.addProvider(new EVRViewLevelsConfigurationViewProvider(taxonomy));
+ openmct.inspectorViews.addProvider(
+ new EVRViewLevelsConfigurationViewProvider(openmct, taxonomy)
+ );
openmct.inspectorViews.addProvider(
new VistaTableConfigurationProvider(
'vista.evr-view-configuration',
'Config',
'vista.evrView',
+ openmct,
tablePerformanceOptions
)
);
diff --git a/src/exportDataAction/ExportDataActionSpec.js b/src/exportDataAction/ExportDataActionSpec.js
index eb700dd8..8b3ae596 100644
--- a/src/exportDataAction/ExportDataActionSpec.js
+++ b/src/exportDataAction/ExportDataActionSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,jasmine,spyOn,Promise,it,expect,waitsFor,runs,afterEach*/
-
define(['./ExportDataAction'], (ExportDataActionModule) => {
const ExportDataAction = ExportDataActionModule.default;
@@ -57,7 +55,6 @@ define(['./ExportDataAction'], (ExportDataActionModule) => {
'composition',
'telemetry'
]);
- mockTelemetry = [];
mockCompositionCollection = jasmine.createSpyObj('compositionCollection', ['load']);
mockCompositionCollection.load.and.returnValue(Promise.resolve(mockComposition));
mockOpenmct.composition = jasmine.createSpyObj('composition', ['get']);
diff --git a/src/exportDataAction/ExportDataTaskSpec.js b/src/exportDataAction/ExportDataTaskSpec.js
index c9268fa5..58065a79 100644
--- a/src/exportDataAction/ExportDataTaskSpec.js
+++ b/src/exportDataAction/ExportDataTaskSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,jasmine,spyOn,Promise,it,expect,waitsFor,runs,afterEach*/
-
define(['./ExportDataTask'], function (ExportDataTaskModule) {
const ExportDataTask = ExportDataTaskModule.default;
@@ -8,7 +6,6 @@ define(['./ExportDataTask'], function (ExportDataTaskModule) {
let testTelemetryData;
let mockTelemetryObjects;
let mockOpenMct;
- let pendingPromises;
let task;
function makeMockTelemetryObject(id) {
@@ -45,8 +42,6 @@ define(['./ExportDataTask'], function (ExportDataTaskModule) {
return Promise.resolve(testTelemetryData[telemetryObject.identifier.key]);
});
- pendingPromises = [];
-
spyOn(ExportDataTask.prototype, 'exportCSV').and.callThrough();
mockTelemetryObjects = ['a', 'b', 'c'].map(makeMockTelemetryObject);
@@ -94,8 +89,8 @@ define(['./ExportDataTask'], function (ExportDataTaskModule) {
it('contains all telemetry data for all objects', () => {
const rows = ExportDataTask.prototype.exportCSV.calls.mostRecent().args[0];
- const options = ExportDataTask.prototype.exportCSV.calls.mostRecent().args[1];
- const headers = options.headers;
+ // const options = ExportDataTask.prototype.exportCSV.calls.mostRecent().args[1];
+ // const headers = options.headers;
function hasValue(id, key, value) {
return rows.some(function (row) {
diff --git a/src/formats/JSONStringFormat.js b/src/formats/JSONStringFormat.js
index 29a29ed5..2705a24a 100644
--- a/src/formats/JSONStringFormat.js
+++ b/src/formats/JSONStringFormat.js
@@ -1,4 +1,3 @@
-/*global define*/
define(['lodash'], function (_) {
/**
* Format embedded JavaScript objects as JSON strings for debugging
@@ -27,7 +26,7 @@ define(['lodash'], function (_) {
JSON.parse(stringValue);
return true;
} catch (error) {
- console.error('Failed to parse %s', stringValue);
+ console.error('Failed to parse %s', stringValue, error);
return false;
}
};
diff --git a/src/formats/LMSTFormat.js b/src/formats/LMSTFormat.js
index f4c5ee43..c51afb8b 100644
--- a/src/formats/LMSTFormat.js
+++ b/src/formats/LMSTFormat.js
@@ -1,4 +1,3 @@
-/*global define*/
define(['moment'], function (moment) {
var MSL_EPOCH = moment.utc(Date.UTC(2012, 7, 5, 13, 49, 59)),
MARS_SECONDS_PER_EARTH_SECOND = 1.02749125;
diff --git a/src/formats/LMSTFormatSpec.js b/src/formats/LMSTFormatSpec.js
index ecf454c4..d43d7884 100644
--- a/src/formats/LMSTFormatSpec.js
+++ b/src/formats/LMSTFormatSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,it,expect*/
-
define(['./LMSTFormat'], function (LMSTFormat) {
'use strict';
diff --git a/src/formats/MSLSOLFormat.js b/src/formats/MSLSOLFormat.js
index 43cb95aa..7e0bcd56 100644
--- a/src/formats/MSLSOLFormat.js
+++ b/src/formats/MSLSOLFormat.js
@@ -1,4 +1,3 @@
-/*global define*/
define(['moment'], function (moment) {
var MSL_EPOCH = moment.utc(Date.UTC(2012, 7, 5, 13, 49, 59)),
MARS_SECONDS_PER_EARTH_SECOND = 1.02749125;
diff --git a/src/formats/MSLSOLFormatSpec.js b/src/formats/MSLSOLFormatSpec.js
index 0698ead9..d96c5406 100644
--- a/src/formats/MSLSOLFormatSpec.js
+++ b/src/formats/MSLSOLFormatSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,it,expect*/
-
define(['./MSLSOLFormat'], function (MSLSOLFormat) {
'use strict';
diff --git a/src/formats/SCLKFloat64Format.js b/src/formats/SCLKFloat64Format.js
index 93c92938..a76d9d85 100644
--- a/src/formats/SCLKFloat64Format.js
+++ b/src/formats/SCLKFloat64Format.js
@@ -1,4 +1,3 @@
-/*global define*/
define(['lodash'], function (_) {
/**
* Format for SCLK values as 64 bit float.
diff --git a/src/formats/SCLKFloat64FormatSpec.js b/src/formats/SCLKFloat64FormatSpec.js
index 26a38364..e2c21860 100644
--- a/src/formats/SCLKFloat64FormatSpec.js
+++ b/src/formats/SCLKFloat64FormatSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,it,expect*/
-
define(['./SCLKFloat64Format'], function (SCLKFloat64Format) {
'use strict';
diff --git a/src/formats/UTCDayOfYearFormatSpec.js b/src/formats/UTCDayOfYearFormatSpec.js
index 77d5ae53..68d291a6 100644
--- a/src/formats/UTCDayOfYearFormatSpec.js
+++ b/src/formats/UTCDayOfYearFormatSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,it,expect*/
-
define(['./UTCDayOfYearFormat'], function (UTCDayOfYearFormat) {
'use strict';
diff --git a/src/formats/UTCFormatSpec.js b/src/formats/UTCFormatSpec.js
index f05c8768..66463315 100644
--- a/src/formats/UTCFormatSpec.js
+++ b/src/formats/UTCFormatSpec.js
@@ -1,5 +1,3 @@
-/*global define,describe,beforeEach,it,expect*/
-
define(['./UTCFormat'], function (UTCFormat) {
'use strict';
diff --git a/src/frameEventFilterView/FrameEventFilterViewProvider.js b/src/frameEventFilterView/FrameEventFilterViewProvider.js
index 8e8ffb6c..2dc72382 100644
--- a/src/frameEventFilterView/FrameEventFilterViewProvider.js
+++ b/src/frameEventFilterView/FrameEventFilterViewProvider.js
@@ -19,8 +19,9 @@ export default class FrameEventFilterViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- let table = new FrameEventFilterTable(domainObject, openmct, this.options);
+ let table = new FrameEventFilterTable(domainObject, this.openmct, this.options);
let markingProp = {
enable: true,
useAlternateControlBar: false,
@@ -41,7 +42,7 @@ export default class FrameEventFilterViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -65,7 +66,7 @@ export default class FrameEventFilterViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/frameaccountability/frameAccountabilityViewProvider.js b/src/frameaccountability/frameAccountabilityViewProvider.js
index 984e1901..1085a1b9 100644
--- a/src/frameaccountability/frameAccountabilityViewProvider.js
+++ b/src/frameaccountability/frameAccountabilityViewProvider.js
@@ -54,7 +54,7 @@ export default class FrameAccountabilityViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
this._destroy = destroy;
}
diff --git a/src/frameaccountability/sortedEventsCollection.js b/src/frameaccountability/sortedEventsCollection.js
index b1d59414..510c0dc8 100644
--- a/src/frameaccountability/sortedEventsCollection.js
+++ b/src/frameaccountability/sortedEventsCollection.js
@@ -1,4 +1,5 @@
import TableRowCollection from 'openmct.tables.collections.TableRowCollection';
+import _ from 'lodash';
export default class SortedEventsCollection extends TableRowCollection {
constructor() {
diff --git a/src/framesummary/FrameWatchColumn.js b/src/framesummary/FrameWatchColumn.js
index 5dfe89a6..3c574a65 100644
--- a/src/framesummary/FrameWatchColumn.js
+++ b/src/framesummary/FrameWatchColumn.js
@@ -18,7 +18,7 @@ define(function () {
}
hasValueForDatum(telemetryDatum) {
- return telemetryDatum.hasOwnProperty(this.key);
+ return Object.hasOwn(telemetryDatum, this.key);
}
getRawValue(telemetryDatum) {
diff --git a/src/framesummary/FrameWatchConfigurationViewProvider.js b/src/framesummary/FrameWatchConfigurationViewProvider.js
index 94870542..72b64669 100644
--- a/src/framesummary/FrameWatchConfigurationViewProvider.js
+++ b/src/framesummary/FrameWatchConfigurationViewProvider.js
@@ -21,14 +21,19 @@ export default class FrameWatchConfigurationViewProvider {
}
view(selection) {
+ const self = this;
const domainObject = selection[0][0].context.item;
- const tableConfiguration = new FrameWatchTableConfiguration(domainObject, openmct, this.type);
+ const tableConfiguration = new FrameWatchTableConfiguration(
+ domainObject,
+ this.openmct,
+ this.type
+ );
return {
show: function (element) {
const componentDefinition = {
provide: {
- openmct: this.openmct,
+ openmct: self.openmct,
tableConfiguration
},
components: {
@@ -41,12 +46,12 @@ export default class FrameWatchConfigurationViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
this._destroy = destroy;
},
priority: function () {
- return this.openmct.priority.HIGH + 1;
+ return self.openmct.priority.HIGH + 1;
},
destroy: function () {
this._destroy?.();
diff --git a/src/framesummary/FrameWatchViewProvider.js b/src/framesummary/FrameWatchViewProvider.js
index 3e2a5429..aec5f9b6 100644
--- a/src/framesummary/FrameWatchViewProvider.js
+++ b/src/framesummary/FrameWatchViewProvider.js
@@ -21,6 +21,7 @@ export default class FrameWatchViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
const table = new FrameWatchTable(domainObject, this.openmct, this.options, this.type);
@@ -37,7 +38,7 @@ export default class FrameWatchViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -56,7 +57,7 @@ export default class FrameWatchViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/globalFilters/plugin.js b/src/globalFilters/plugin.js
index 26a96cd1..de7f69d7 100644
--- a/src/globalFilters/plugin.js
+++ b/src/globalFilters/plugin.js
@@ -14,7 +14,7 @@ export default function plugin(config) {
template: ''
};
- const { componentInstance, destroy, el } = mount(componentDefinition);
+ const { destroy, el } = mount(componentDefinition);
const indicator = {
key: 'global-filter-indicator',
diff --git a/src/historical/HistoricalProvider.js b/src/historical/HistoricalProvider.js
index 224001ca..0d938910 100644
--- a/src/historical/HistoricalProvider.js
+++ b/src/historical/HistoricalProvider.js
@@ -533,6 +533,7 @@ define([
params.filter[options.domain + '__lte'] = formatter.format(options.end);
} catch (e) {
// TODO: better handling when domain not available.
+ console.error('Error requesting telemetry data for', domainObject, e);
}
const sessions = this.getSessionService();
@@ -628,7 +629,7 @@ define([
return map;
}, {});
- for (key in filters) {
+ for (const key in filters) {
let metadataFilters = valuesWithFilters[key];
if (metadataFilters) {
metadataFilters.forEach((filter) => {
diff --git a/src/images/favicons/favicon-vista-16x16.png b/src/images/favicons/favicon-vista-16x16.png
deleted file mode 100644
index 63605af7..00000000
Binary files a/src/images/favicons/favicon-vista-16x16.png and /dev/null differ
diff --git a/src/images/favicons/favicon-vista-32x32.png b/src/images/favicons/favicon-vista-32x32.png
deleted file mode 100644
index 0c6fa774..00000000
Binary files a/src/images/favicons/favicon-vista-32x32.png and /dev/null differ
diff --git a/src/images/favicons/favicon-vista-96x96.png b/src/images/favicons/favicon-vista-96x96.png
deleted file mode 100644
index 1786de71..00000000
Binary files a/src/images/favicons/favicon-vista-96x96.png and /dev/null differ
diff --git a/src/lib/eventHelpers.js b/src/lib/eventHelpers.js
index 9dcf85a2..ec14a362 100644
--- a/src/lib/eventHelpers.js
+++ b/src/lib/eventHelpers.js
@@ -1,5 +1,3 @@
-/*global define*/
-
define([], function () {
'use strict';
@@ -13,7 +11,7 @@ define([], function () {
event: event,
callback: callback,
context: context,
- _cb: !!context ? callback.bind(context) : callback
+ _cb: context ? callback.bind(context) : callback
};
if (object.$watch && event.indexOf('change:') === 0) {
var scopePath = event.replace('change:', '');
diff --git a/src/lib/extend.js b/src/lib/extend.js
index f3c31048..953253a6 100644
--- a/src/lib/extend.js
+++ b/src/lib/extend.js
@@ -6,7 +6,7 @@ define([], function () {
child,
Surrogate;
- if (props && props.hasOwnProperty('constructor')) {
+ if (props && Object.hasOwn(props, 'constructor')) {
child = props.constructor;
} else {
child = function () {
diff --git a/src/mcwsIndicator/plugin.js b/src/mcwsIndicator/plugin.js
index 343c072a..f9a26273 100644
--- a/src/mcwsIndicator/plugin.js
+++ b/src/mcwsIndicator/plugin.js
@@ -13,7 +13,7 @@ export default function MCWSIndicatorPlugin() {
template: ''
};
- const { componentInstance, destroy, el } = mount(componentDefinition);
+ const { destroy, el } = mount(componentDefinition);
const indicator = {
key: 'mcws-indicator',
diff --git a/src/messagesView/MessagesViewProvider.js b/src/messagesView/MessagesViewProvider.js
index 47d40c47..d109be76 100644
--- a/src/messagesView/MessagesViewProvider.js
+++ b/src/messagesView/MessagesViewProvider.js
@@ -19,8 +19,9 @@ export default class MessagesViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- const table = new MessagesTable(domainObject, openmct, this.options);
+ const table = new MessagesTable(domainObject, this.openmct, this.options);
const markingProp = {
enable: true,
useAlternateControlBar: false,
@@ -42,7 +43,7 @@ export default class MessagesViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -65,7 +66,7 @@ export default class MessagesViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/messagesView/plugin.js b/src/messagesView/plugin.js
index 64fa3a46..a3c7841d 100644
--- a/src/messagesView/plugin.js
+++ b/src/messagesView/plugin.js
@@ -22,6 +22,7 @@ export default function MessagesViewPlugin(options) {
'vista.messages-view-configuration',
'Config',
'vista.messagesView',
+ openmct,
options
)
);
diff --git a/src/metadataAction/metadataAction.js b/src/metadataAction/metadataAction.js
index 626f34cb..e1366ce3 100644
--- a/src/metadataAction/metadataAction.js
+++ b/src/metadataAction/metadataAction.js
@@ -27,11 +27,7 @@ export default class MetadataAction {
template: ''
};
- const componentOptions = {
- element
- };
-
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy, el } = mount(componentDefinition);
this.openmct.overlays.overlay({
element: el,
diff --git a/src/multipleHistoricalSessions/plugin.js b/src/multipleHistoricalSessions/plugin.js
index 9f5dfc0b..87aa144e 100644
--- a/src/multipleHistoricalSessions/plugin.js
+++ b/src/multipleHistoricalSessions/plugin.js
@@ -36,7 +36,7 @@ export default function HistoricalSessionsPlugin(options) {
template: ''
};
- const { componentInstance, destroy, el } = mount(componentDefinition);
+ const { destroy, el } = mount(componentDefinition);
const indicator = {
key: 'historical-session-indicator',
diff --git a/src/packetQuery/PacketQueryViewProvider.js b/src/packetQuery/PacketQueryViewProvider.js
index 8f3099c0..bc341e8f 100644
--- a/src/packetQuery/PacketQueryViewProvider.js
+++ b/src/packetQuery/PacketQueryViewProvider.js
@@ -15,6 +15,7 @@ export default class PacketQueryViewProvider {
view(domainObject, objectPath) {
let _destroy = null;
+ const self = this;
const view = {
show: function (element) {
@@ -29,7 +30,7 @@ export default class PacketQueryViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
objectPath,
currentView: view
},
@@ -44,7 +45,7 @@ export default class PacketQueryViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
diff --git a/src/packetQuery/components/PacketQueryView.vue b/src/packetQuery/components/PacketQueryView.vue
index 52e6e659..bf5365a4 100644
--- a/src/packetQuery/components/PacketQueryView.vue
+++ b/src/packetQuery/components/PacketQueryView.vue
@@ -107,7 +107,7 @@ export default {
return '';
},
isValid() {
- return !Boolean(this.message);
+ return !this.message;
},
noFilterSelected() {
return !this.queryModel.useSession && !this.queryModel.useTimeConductor;
@@ -134,13 +134,6 @@ export default {
}
},
data() {
- const sortBy = SORT_OPTIONS.map((option) => {
- return {
- name: option,
- value: option
- };
- });
-
return {
queryModel: {
useSession: undefined,
@@ -213,10 +206,10 @@ export default {
const bounds = this.openmct.time.bounds();
const start = bounds.start;
const end = bounds.end;
- const timeSystem = openmct.time.timeSystem();
+ const timeSystem = this.openmct.time.timeSystem();
const domain = timeSystem.key;
- const format = openmct.telemetry.getFormatter(timeSystem.timeFormat);
+ const format = this.openmct.telemetry.getFormatter(timeSystem.timeFormat);
builder.filter(domain, format.format(start), '>');
builder.filter(domain, format.format(end), '<');
diff --git a/src/packetSummary/PacketSummaryViewProvider.js b/src/packetSummary/PacketSummaryViewProvider.js
index 8a0940e7..070d3370 100644
--- a/src/packetSummary/PacketSummaryViewProvider.js
+++ b/src/packetSummary/PacketSummaryViewProvider.js
@@ -22,8 +22,9 @@ export default class ProductSummaryViewProvider {
view(domainObject, objectPath) {
let component;
let _destroy = null;
+ const self = this;
- const table = new PacketSummaryTable(domainObject, openmct, this.options);
+ const table = new PacketSummaryTable(domainObject, this.openmct, this.options);
const view = {
show: function (element, editMode, { renderWhenVisible }) {
@@ -38,7 +39,7 @@ export default class ProductSummaryViewProvider {
};
},
provide: {
- openmct,
+ openmct: self.openmct,
table,
objectPath,
currentView: view,
@@ -55,7 +56,7 @@ export default class ProductSummaryViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { componentInstance, destroy } = mount(componentDefinition, componentOptions);
component = componentInstance;
_destroy = destroy;
diff --git a/src/packetSummary/plugin.js b/src/packetSummary/plugin.js
index 030a7b42..a950ada5 100644
--- a/src/packetSummary/plugin.js
+++ b/src/packetSummary/plugin.js
@@ -38,6 +38,7 @@ export default function PacketSummaryPlugin(options) {
'vista.packet-summary-configuration',
'Config',
'vista.packetSummaryView',
+ openmct,
options
)
);
diff --git a/src/persistence/BaseMCWSPersistenceProvider.js b/src/persistence/BaseMCWSPersistenceProvider.js
index ab5b5ff0..49995155 100644
--- a/src/persistence/BaseMCWSPersistenceProvider.js
+++ b/src/persistence/BaseMCWSPersistenceProvider.js
@@ -197,7 +197,9 @@ export default class BaseMCWSPersistenceProvider {
}
return namespaceDefinition;
- } catch (createError) {
+ } catch (e) {
+ console.error('Error creating namespace:', e);
+
return;
}
}
diff --git a/src/product-status/DataProductInspectorViewProvider.js b/src/product-status/DataProductInspectorViewProvider.js
index ac073cbe..a5a5309c 100644
--- a/src/product-status/DataProductInspectorViewProvider.js
+++ b/src/product-status/DataProductInspectorViewProvider.js
@@ -19,15 +19,20 @@ export default class DataProductViewProvider {
view(selection) {
let _destroy = null;
+ const self = this;
const domainObject = selection[0][0].context.item;
- const tableConfiguration = new TelemetryTableConfiguration(domainObject, openmct, this.options);
+ const tableConfiguration = new TelemetryTableConfiguration(
+ domainObject,
+ this.openmct,
+ this.options
+ );
return {
show: function (element) {
const componentDefinition = {
provide: {
- openmct,
+ openmct: self.openmct,
tableConfiguration
},
components: {
@@ -40,12 +45,12 @@ export default class DataProductViewProvider {
element
};
- const { componentInstance, destroy, el } = mount(componentDefinition, componentOptions);
+ const { destroy } = mount(componentDefinition, componentOptions);
_destroy = destroy;
},
priority: function () {
- return openmct.priority.HIGH;
+ return self.openmct.priority.HIGH;
},
destroy: function () {
_destroy?.();
diff --git a/src/product-status/DataProductRow.js b/src/product-status/DataProductRow.js
index 679d11ef..ae94d58e 100644
--- a/src/product-status/DataProductRow.js
+++ b/src/product-status/DataProductRow.js
@@ -6,6 +6,7 @@ const RECORD_TYPE_FIELD = 'record_type';
const TOTAL_PARTS_FIELD = 'total_parts';
const PRODUCT_STARTED_RECORD_TYPE = 'PRODUCT_STARTED';
+// eslint-disable-next-line no-unused-vars
const COMPLETE_PRODUCT_RECORD_TYPE = 'COMPLETE_PRODUCT';
const PRODUCT_PART_RECEIVED_RECORD_TYPE = 'PRODUCT_PART_RECEIVED';
diff --git a/src/product-status/DataProductRowSpec.js b/src/product-status/DataProductRowSpec.js
index 692829db..5e4718ae 100644
--- a/src/product-status/DataProductRowSpec.js
+++ b/src/product-status/DataProductRowSpec.js
@@ -18,7 +18,7 @@ describe('The Data Product Row', () => {
};
rowId = 'test-row-id';
startMessage = {
- transaction_id: 'McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ transaction_id: 'McamRThumbnail/McamRThumbnail_0457586851-19880',
session_host: 'host',
apid: '424',
total_parts: '0',
@@ -30,7 +30,7 @@ describe('The Data Product Row', () => {
};
partReceivedMessage = {
creation_time: '',
- transaction_id: 'McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ transaction_id: 'McamRThumbnail/McamRThumbnail_0457586851-19880',
dvt_coarse: '457586851',
ground_status: 'UNKNOWN',
session_host: 'host',
@@ -45,7 +45,7 @@ describe('The Data Product Row', () => {
file_size: '0',
record_type: 'product_part_received',
command_number: '0',
- unique_name: 'products\/McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ unique_name: 'products/McamRThumbnail/McamRThumbnail_0457586851-19880',
seq_version: '0',
checksum: '0',
part_number: '0',
@@ -56,7 +56,7 @@ describe('The Data Product Row', () => {
};
completeMessage = {
creation_time: '2019-259T17:06:57.800',
- transaction_id: 'McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ transaction_id: 'McamRThumbnail/McamRThumbnail_0457586851-19880',
dvt_coarse: '457586851',
ground_status: 'COMPLETE_CHECKSUM_PASS',
session_host: 'host',
@@ -108,7 +108,7 @@ describe('The Data Product Row', () => {
it('Replaces content of in progress rows with info from new message', () => {
const secondPartReceived = {
creation_time: '',
- transaction_id: 'McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ transaction_id: 'McamRThumbnail/McamRThumbnail_0457586851-19880',
dvt_coarse: '457586851',
ground_status: 'UNKNOWN',
session_host: 'host',
@@ -143,7 +143,7 @@ describe('The Data Product Row', () => {
dataProductRow.update(partReceivedMessage);
expect(dataProductRow.datum['unique_name']).toEqual(
- 'products\/McamRThumbnail\/McamRThumbnail_0457586851-19880'
+ 'products/McamRThumbnail/McamRThumbnail_0457586851-19880'
);
expect(dataProductRow.datum['checksum']).toEqual('0');
expect(dataProductRow.datum['part_number']).toEqual('0');
@@ -165,7 +165,7 @@ describe('The Data Product Row', () => {
);
dataProductRow.update(partReceivedMessage);
expect(dataProductRow.datum['unique_name']).toEqual(
- 'products\/McamRThumbnail\/McamRThumbnail_0457586851-19880'
+ 'products/McamRThumbnail/McamRThumbnail_0457586851-19880'
);
expect(dataProductRow.datum['checksum']).toEqual('0');
expect(dataProductRow.datum['part_number']).toEqual('0');
@@ -184,7 +184,7 @@ describe('The Data Product Row', () => {
it('Does replace content of complete rows with complete rows', () => {
const aDifferentCompleteMessage = {
creation_time: '2019-259T17:06:57.800',
- transaction_id: 'McamRThumbnail\/McamRThumbnail_0457586851-19880',
+ transaction_id: 'McamRThumbnail/McamRThumbnail_0457586851-19880',
dvt_coarse: '457586851',
ground_status: 'COMPLETE_CHECKSUM_PASS',
session_host: 'host',
@@ -216,7 +216,7 @@ describe('The Data Product Row', () => {
);
dataProductRow.update(partReceivedMessage);
expect(dataProductRow.datum['unique_name']).toEqual(
- 'products\/McamRThumbnail\/McamRThumbnail_0457586851-19880'
+ 'products/McamRThumbnail/McamRThumbnail_0457586851-19880'
);
expect(dataProductRow.datum['checksum']).toEqual('0');
expect(dataProductRow.datum['part_number']).toEqual('0');
diff --git a/src/product-status/DataProductTable.js b/src/product-status/DataProductTable.js
index 3ccef413..a7761a7b 100644
--- a/src/product-status/DataProductTable.js
+++ b/src/product-status/DataProductTable.js
@@ -99,6 +99,8 @@ export default class DataProductTable extends TelemetryTable {
}
createColumn(metadatum) {
+ let copyOfMetadatum;
+
switch (metadatum.key) {
//Create custom column types with links for EMD, DAT, and TXT files
case 'emd_url':
@@ -113,7 +115,7 @@ export default class DataProductTable extends TelemetryTable {
case 'scet':
case 'sclk':
case 'msl.sol':
- let copyOfMetadatum = Object.assign({}, metadatum);
+ copyOfMetadatum = Object.assign({}, metadatum);
copyOfMetadatum.name = 'Dvt ' + copyOfMetadatum.name;
return super.createColumn(copyOfMetadatum);
}
diff --git a/src/product-status/data-product-autoclear.vue b/src/product-status/data-product-autoclear.vue
index 37fd635c..567725b8 100644
--- a/src/product-status/data-product-autoclear.vue
+++ b/src/product-status/data-product-autoclear.vue
@@ -25,8 +25,6 @@