@@ -35,6 +35,19 @@ export type TerminalDataPoint = {
35
35
terminalName ?: string ,
36
36
} ;
37
37
38
+
39
+ export type ExportableDataPoint = {
40
+ date : string ,
41
+ hour : number ,
42
+ portCode : string ,
43
+ regionName : string ,
44
+ totalPcpPax : number ,
45
+ terminalName ?: string ,
46
+ EEA ?: number ,
47
+ nonEEA ?:number ,
48
+ eGates ?:number ,
49
+ } ;
50
+
38
51
export type PortsObject = {
39
52
[ key :string ] : TerminalDataPoint [ ]
40
53
}
@@ -66,6 +79,24 @@ export function getHistoricDateByDay(date: Moment) : Moment {
66
79
. isoWeekday ( date . isoWeekday ( ) )
67
80
}
68
81
82
+ const createExportableDatapoints = ( datapoints : TerminalDataPoint [ ] ) :ExportableDataPoint [ ] => {
83
+ let flattenedCurrent : ExportableDataPoint [ ] = [ ] ;
84
+ datapoints ! . forEach ( ( datapoint ) => {
85
+ flattenedCurrent . push ( {
86
+ date : datapoint . date ,
87
+ hour : datapoint . hour ,
88
+ portCode : datapoint . portCode ,
89
+ regionName : datapoint . regionName ,
90
+ totalPcpPax : datapoint . totalPcpPax ,
91
+ terminalName : datapoint . terminalName ,
92
+ EEA : datapoint . queueCounts [ 0 ] ?. count || 0 ,
93
+ eGates : datapoint . queueCounts [ 1 ] ?. count || 0 ,
94
+ nonEEA : datapoint . queueCounts [ 2 ] ?. count || 0 ,
95
+ } )
96
+ } ) ;
97
+ return flattenedCurrent
98
+ }
99
+
69
100
export function * handleRequestPaxTotals ( action : RequestPaxTotalsType ) {
70
101
try {
71
102
yield ( put ( setStatus ( 'loading' ) ) )
@@ -112,9 +143,10 @@ export function* handleRequestPaxTotals(action: RequestPaxTotalsType) {
112
143
}
113
144
114
145
if ( action . isExport ) {
115
-
116
- const currentCSV = generateCsv ( { } ) ( current ) ;
117
- const historicCSV = generateCsv ( { } ) ( historic ) ;
146
+
147
+
148
+ const currentCSV = generateCsv ( { } ) ( createExportableDatapoints ( current ) ) ;
149
+ const historicCSV = generateCsv ( { } ) ( createExportableDatapoints ( historic ) ) ;
118
150
download ( { } ) ( currentCSV ) ;
119
151
download ( { } ) ( historicCSV ) ;
120
152
yield ( put ( setStatus ( 'done' ) ) )
@@ -127,22 +159,22 @@ export function* handleRequestPaxTotals(action: RequestPaxTotalsType) {
127
159
128
160
current ! . forEach ( ( datapoint ) => {
129
161
const portIndex = datapoint . terminalName ? `${ datapoint . portCode } -${ datapoint . terminalName } ` : datapoint . portCode ;
130
- datapoint . queueCounts . forEach ( passengerCount => {
162
+ datapoint . queueCounts ! . forEach ( passengerCount => {
131
163
portTotals [ portIndex ] = ( portTotals [ portIndex ] ? portTotals [ portIndex ] : 0 ) + passengerCount . count
132
164
} )
133
165
portData [ portIndex ] ?
134
- portData [ portIndex ] . push ( datapoint )
135
- : portData [ portIndex ] = [ datapoint ]
166
+ portData [ portIndex ] . push ( datapoint )
167
+ : portData [ portIndex ] = [ datapoint ]
136
168
} )
137
169
138
170
historic ! . forEach ( ( datapoint ) => {
139
171
const portIndex = datapoint . terminalName ? `${ datapoint . portCode } -${ datapoint . terminalName } ` : datapoint . portCode ;
140
- datapoint . queueCounts . forEach ( passengerCount => {
172
+ datapoint . queueCounts ! . forEach ( passengerCount => {
141
173
historicPortTotals [ portIndex ] = ( historicPortTotals [ portIndex ] ? historicPortTotals [ portIndex ] : 0 ) + passengerCount . count
142
174
} )
143
175
historicPortData [ portIndex ] ?
144
- historicPortData [ portIndex ] . push ( datapoint )
145
- : historicPortData [ portIndex ] = [ datapoint ]
176
+ historicPortData [ portIndex ] . push ( datapoint )
177
+ : historicPortData [ portIndex ] = [ datapoint ]
146
178
} )
147
179
148
180
yield ( put ( setRegionalDashboardState ( {
0 commit comments