11import ExportDataTask from './ExportDataTask' ;
2+ import SessionService from 'services/session/SessionService' ;
3+ import { formatNumberSequence } from 'ommUtils/strings' ;
24
35/**
46 * Implements the "Export Data" action, allowing data for Channels, EVRs,
@@ -16,6 +18,7 @@ class ExportDataAction {
1618 this . group = 'view' ;
1719 this . priority = 1 ;
1820 this . validTypes = validTypes ;
21+ this . sessionService = SessionService ( ) ;
1922
2023 this . openmct = openmct ;
2124 }
@@ -66,10 +69,24 @@ class ExportDataAction {
6669 }
6770 }
6871
72+ historicalFilterString ( sessionFilter ) {
73+ let filterString = formatNumberSequence ( sessionFilter . numbers ) ;
74+
75+ filterString = filterString . replaceAll ( '...' , '-' ) ;
76+ filterString = filterString . replaceAll ( ', ' , '_' ) ;
77+
78+ return `${ sessionFilter . host } _${ filterString } ` ;
79+ }
80+
6981 runExportTask ( domainObjects ) {
70- const task = new ExportDataTask ( this . openmct , domainObjects [ 0 ] . name , domainObjects ) ;
82+ let filename = domainObjects [ 0 ] . name ;
83+ const sessionFilter = this . sessionService . getHistoricalSessionFilter ( ) ;
84+
85+ if ( sessionFilter ) {
86+ filename = `${ filename } - ${ this . historicalFilterString ( sessionFilter ) } ` ;
87+ }
7188
72- return task . invoke ( ) ;
89+ return new ExportDataTask ( this . openmct , filename , domainObjects ) . invoke ( ) ;
7390 }
7491
7592 isValidType ( domainObject ) {
0 commit comments