diff --git a/package.json b/package.json index 52f71cc..02b98c5 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "mini-css-extract-plugin": "2.7.6", "moment": "2.30.1", "node-bourbon": "^4.2.3", - "openmct": "nasa/openmct#omm-r5.3.1", + "openmct": "github:nasa/openmct#omm-release/5.4.0", "prettier": "3.4.2", "printj": "1.3.1", "raw-loader": "^0.5.1", @@ -82,4 +82,4 @@ }, "author": "", "license": "Apache-2.0" -} \ No newline at end of file +} diff --git a/src/actionModifiers/ImageExport/ImageExportModifier.js b/src/actionModifiers/ImageExport/ImageExportModifier.js new file mode 100644 index 0000000..2737055 --- /dev/null +++ b/src/actionModifiers/ImageExport/ImageExportModifier.js @@ -0,0 +1,39 @@ +import SessionService from 'services/session/SessionService'; +import { formatNumberSequence } from 'ommUtils/strings'; + +function imageExportModifier(openmct) { + const PNGImageExportAction = openmct.actions._allActions['export-as-png']; + const JPGImageExportAction = openmct.actions._allActions['export-as-jpg']; + const imageExportActions = [PNGImageExportAction, JPGImageExportAction]; + const sessionService = SessionService(); + + imageExportActions.forEach((action) => { + const invoke = action.invoke; + + action.invoke = (objectPath, view) => { + const domainObject = objectPath[0]; + let filename = domainObject.name; + const type = domainObject.type; + const sessionFilter = sessionService.getHistoricalSessionFilter(); + + if (sessionFilter) { + filename = `${filename} - ${historicalFilterString(sessionFilter)}`; + } + + filename = `${filename} - ${type}`; + + invoke(objectPath, view, filename); + }; + }); +} + +function historicalFilterString(sessionFilter) { + let filterString = formatNumberSequence(sessionFilter.numbers); + + filterString = filterString.replaceAll('...', '-'); + filterString = filterString.replaceAll(', ', '_'); + + return `${sessionFilter.host}_${filterString}`; +} + +export default imageExportModifier; diff --git a/src/actionModifiers/plugin.js b/src/actionModifiers/plugin.js index 4e07db3..4b42ec6 100644 --- a/src/actionModifiers/plugin.js +++ b/src/actionModifiers/plugin.js @@ -1,7 +1,7 @@ import preventImportIntoDatasetModifier from './preventImportIntoDatasetModifier'; import importWithDatasetsModifier from './ImportExportWithDatasets/importWithDatasetsModifier'; import warnMultipleDatasetsOnDuplicateModifier from './MultipleDatasets/warnMultipleDatasetsOnDuplicateModifier'; -// import warnMultipleDatasetsOnImportModifier from './MultipleDatasets/warnMultipleDatasetsOnImportModifier'; +import imageExportModifier from './ImageExport/ImageExportModifier'; /** * DEPENDENCY: These modifiers have a dependency on Open MCT action internals. @@ -12,7 +12,7 @@ function ActionModifiersPlugin() { preventImportIntoDatasetModifier(openmct); importWithDatasetsModifier(openmct); warnMultipleDatasetsOnDuplicateModifier(openmct); - // warnMultipleDatasetsOnImportModifier(openmct); + imageExportModifier(openmct); }); }; }