|
| 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; |
0 commit comments