-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathImageExportModifier.js
More file actions
39 lines (29 loc) · 1.25 KB
/
ImageExportModifier.js
File metadata and controls
39 lines (29 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;