7
7
<script lang="ts">
8
8
import { Component , Vue , Watch } from ' vue-property-decorator' ;
9
9
import { State } from ' vuex-class' ;
10
- import {interval , ObservableInput } from ' rxjs'
10
+ import {interval , ObservableInput } from ' rxjs' ;
11
11
import { webSocket , WebSocketSubject } from ' rxjs/webSocket' ;
12
- import { map , filter , tap , share , take , throttle , takeLast , concatMap , exhaust , debounceTime ,distinctUntilChanged } from ' rxjs/operators' ;
12
+ import { map ,
13
+ filter ,
14
+ tap ,
15
+ share ,
16
+ take ,
17
+ throttle ,
18
+ takeLast ,
19
+ debounceTime ,
20
+ distinctUntilChanged } from ' rxjs/operators' ;
13
21
14
22
import { streamWS } from ' @/libs/endpoints' ;
15
23
import { AirportList , AirportListEvent } from ' @/interfaces/airport' ;
@@ -107,17 +115,17 @@ export default class extends Vue {
107
115
messages .pipe (
108
116
filter <FlightListEvent >(
109
117
(event : DVSEvent ) => event .eventType === ' FlightList' ),
110
- debounceTime (1500 ),
118
+ debounceTime (500 ),
111
119
distinctUntilChanged (),
112
120
)
113
121
.subscribe ((event ) => {
114
- return this .manageFlightList (event .eventPayload )});
122
+ return this .manageFlightList (event .eventPayload ); });
115
123
116
124
messages .pipe (
117
125
118
126
filter <AirportListEvent >((event : DVSEvent ) => event .eventType === ' AirportList' ),
119
127
debounceTime (3000 ),
120
- distinctUntilChanged (), )
128
+ distinctUntilChanged ())
121
129
.subscribe ((event ) => this .manageAirportList (event .eventPayload ));
122
130
});
123
131
this .isListening = true ;
@@ -126,15 +134,14 @@ export default class extends Vue {
126
134
127
135
private manageAirportList(event : AirportList ): void {
128
136
const { elements } = event ;
129
- console .log (elements .length )
130
137
const newCodes = new Set (elements .map ((f : AirportInfo ) => f .codeAirport ));
131
138
this .map ! .removeAirportsNotIn (newCodes );
132
139
elements .forEach ((airportUpdate ) => this .map ! .updateAirport (airportUpdate ));
133
140
this .toggleMarker (this .topSelectedItem );
134
141
}
135
142
136
143
private manageFlightList(event : FlightList ): void {
137
- let { elements } = event ;
144
+ const { elements } = event ;
138
145
let maxTimestap = 0 ;
139
146
const newIcaoNumbers = new Set (elements .map ((f : Flight ) => f .icaoNumber ));
140
147
this .map ! .removeOldFlights (newIcaoNumbers );
@@ -181,11 +188,11 @@ export default class extends Vue {
181
188
}
182
189
183
190
private chunk<T >(array : T [], size : number ) {
184
- const chunkedArray = []
185
- for (var i = 0 ; i < array .length ; i += size ) {
186
- chunkedArray .push (array .slice (i , i + size ))
191
+ const chunkedArray = [];
192
+ for (let i = 0 ; i < array .length ; i += size ) {
193
+ chunkedArray .push (array .slice (i , i + size ));
187
194
}
188
- return chunkedArray
195
+ return chunkedArray ;
189
196
}
190
197
}
191
198
</script >
0 commit comments