Skip to content

Commit 1294dcc

Browse files
authored
Add session info in exported plot image filename (#328)
1 parent 9d437d0 commit 1294dcc

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"mini-css-extract-plugin": "2.7.6",
4141
"moment": "2.30.1",
4242
"node-bourbon": "^4.2.3",
43-
"openmct": "nasa/openmct#omm-r5.3.1",
43+
"openmct": "github:nasa/openmct#omm-release/5.4.0",
4444
"prettier": "3.4.2",
4545
"printj": "1.3.1",
4646
"raw-loader": "^0.5.1",
@@ -82,4 +82,4 @@
8282
},
8383
"author": "",
8484
"license": "Apache-2.0"
85-
}
85+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import SessionService from 'services/session/SessionService';
2+
import { formatNumberSequence } from 'ommUtils/strings';
3+
4+
function imageExportModifier(openmct) {
5+
const PNGImageExportAction = openmct.actions._allActions['export-as-png'];
6+
const JPGImageExportAction = openmct.actions._allActions['export-as-jpg'];
7+
const imageExportActions = [PNGImageExportAction, JPGImageExportAction];
8+
const sessionService = SessionService();
9+
10+
imageExportActions.forEach((action) => {
11+
const invoke = action.invoke;
12+
13+
action.invoke = (objectPath, view) => {
14+
const domainObject = objectPath[0];
15+
let filename = domainObject.name;
16+
const type = domainObject.type;
17+
const sessionFilter = sessionService.getHistoricalSessionFilter();
18+
19+
if (sessionFilter) {
20+
filename = `${filename} - ${historicalFilterString(sessionFilter)}`;
21+
}
22+
23+
filename = `${filename} - ${type}`;
24+
25+
invoke(objectPath, view, filename);
26+
};
27+
});
28+
}
29+
30+
function historicalFilterString(sessionFilter) {
31+
let filterString = formatNumberSequence(sessionFilter.numbers);
32+
33+
filterString = filterString.replaceAll('...', '-');
34+
filterString = filterString.replaceAll(', ', '_');
35+
36+
return `${sessionFilter.host}_${filterString}`;
37+
}
38+
39+
export default imageExportModifier;

src/actionModifiers/plugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import preventImportIntoDatasetModifier from './preventImportIntoDatasetModifier';
22
import importWithDatasetsModifier from './ImportExportWithDatasets/importWithDatasetsModifier';
33
import warnMultipleDatasetsOnDuplicateModifier from './MultipleDatasets/warnMultipleDatasetsOnDuplicateModifier';
4-
// import warnMultipleDatasetsOnImportModifier from './MultipleDatasets/warnMultipleDatasetsOnImportModifier';
4+
import imageExportModifier from './ImageExport/ImageExportModifier';
55

66
/**
77
* DEPENDENCY: These modifiers have a dependency on Open MCT action internals.
@@ -12,7 +12,7 @@ function ActionModifiersPlugin() {
1212
preventImportIntoDatasetModifier(openmct);
1313
importWithDatasetsModifier(openmct);
1414
warnMultipleDatasetsOnDuplicateModifier(openmct);
15-
// warnMultipleDatasetsOnImportModifier(openmct);
15+
imageExportModifier(openmct);
1616
});
1717
};
1818
}

0 commit comments

Comments
 (0)