@@ -40,7 +40,7 @@ function init_websocket(attempts=1) {
4040 const already_processed = new Set ( ) ;
4141 for ( const vehicle of data ) {
4242 if ( ! vehicle . route_ref && vehicle . cgm_route_id ) {
43- vehicle . route_ref = routes . find ( r => r . cgm_id == vehicle . cgm_route_id ) ?. route_ref ;
43+ vehicle . route_ref = routes . find ( r => r . cgm_id == vehicle . cgm_route_id ) ?. route_ref || null ;
4444 }
4545 if ( ! vehicle . type && vehicle . cgm_route_id ) {
4646 vehicle . type = routes . find ( r => r . cgm_id == vehicle . cgm_route_id ) ?. type ;
@@ -161,7 +161,7 @@ function init_routes_tables() {
161161 routes = r . filter ( route => route . type != 'metro' ) ;
162162 for ( const type of [ 'bus' , 'trolley' , 'tram' ] ) {
163163 const last_index = routes . findLastIndex ( route => route . type == type ) ;
164- routes . splice ( last_index + 1 , 0 , { type : type , route_ref : 'outOfService' } ) ;
164+ routes . splice ( last_index + 1 , 0 , { type : type , route_ref : null , cgm_id : null } ) ;
165165 }
166166 const table = document . querySelector ( 'table#vehicles_table' ) ;
167167 for ( const route of routes ) {
@@ -258,6 +258,7 @@ window.onload = async () => {
258258
259259function generate_route_table ( type , route_ref ) {
260260 const tbody = document . createElement ( 'tbody' ) ;
261+ route_ref = route_ref ?? 'null' ;
261262 tbody . setAttribute ( 'id' , `${ type } _${ route_ref } ` ) ;
262263 tbody . setAttribute ( 'data-type' , type ) ;
263264 {
@@ -329,14 +330,14 @@ window.zoom_to_vehicle = zoom_to_vehicle;
329330function update_route_tables ( route_tables ) {
330331 for ( const table of route_tables ) {
331332 let [ type , route_ref ] = table . split ( '/' ) ;
332- if ( route_ref === 'undefined' ) {
333- route_ref = 'outOfService' ;
333+ if ( route_ref === 'null' || ! route_ref ) {
334+ route_ref = null ;
334335 }
335336
336337 const old_tbody = document . querySelector ( `#${ type } _${ route_ref } ` ) ;
337338 try {
338- const cgm_route_id = routes . find ( route => route . type == type && route . route_ref == route_ref ) . cgm_id ;
339- const relevant_vehicles = cache . filter ( vehicle => vehicle . cgm_route_id == cgm_route_id && vehicle . route_ref && vehicle . hidden !== true ) ;
339+ const cgm_route_id = routes . find ( route => route . type === type && route . route_ref = == route_ref ) . cgm_id ;
340+ const relevant_vehicles = cache . filter ( vehicle => vehicle . type === type && vehicle . cgm_route_id === cgm_route_id && vehicle . hidden !== true ) ;
340341 for ( const v of relevant_vehicles ) {
341342 v . is_unexpected = ! is_vehicle_expected_on_line ( type , route_ref , v . inv_number ) ;
342343 }
@@ -347,7 +348,7 @@ function update_route_tables(route_tables) {
347348 }
348349 catch ( err ) {
349350 console . error ( err )
350- console . log ( old_tbody , route_ref , `#${ type } _${ route_ref } ` ) ;
351+ console . log ( type , route_ref , `#${ type } _${ route_ref } ` , table ) ;
351352 }
352353 }
353354}
@@ -365,7 +366,7 @@ function hide_inactive_vehicles() {
365366 vehicle . marker = null ;
366367 }
367368 vehicle . hidden = true ;
368- update_tables . add ( `${ vehicle . type } /${ vehicle . route_ref } ` ) ;
369+ update_tables . add ( `${ vehicle . type } /${ vehicle . route_ref ?? 'null' } ` ) ;
369370 } ) ;
370371 update_route_tables ( update_tables ) ;
371372}
0 commit comments