@@ -23,6 +23,8 @@ var recoveries = [];
2323var launches = null ;
2424var receiverCanvas = null ;
2525
26+ var sondePrefix = [ "RS92" , "RS92-SGP" , "RS92-NGP" , "RS41" , "RS41-SG" , "RS41-SGP" , "RS41-SGM" , "DFM" , "DFM06" , "DFM09" , "DFM17" , "M10" , "M20" , "iMet-4" , "iMet-54" , "LMS6" , "LMS6-400" , "LMS6-1680" , "iMS-100" , "MRZ" ] ;
27+
2628var got_positions = false ;
2729var zoomed_in = false ;
2830var max_positions = 0 ; // maximum number of positions that ajax request should return (0 means no maximum)
@@ -2635,7 +2637,11 @@ function refresh() {
26352637 mode = ( mode == "position" ) ? "latest" : mode . replace ( / / g, "" ) ;
26362638
26372639 if ( wvar . query ) {
2638- var data_str = "mode=3days&type=positions&format=json&max_positions=" + max_positions + "&position_id=0&vehicles=" + encodeURIComponent ( wvar . query ) ;
2640+ if ( sondePrefix . indexOf ( wvar . query ) > - 1 ) {
2641+ var data_str = "mode=" + mode + "&type=positions&format=json&max_positions=" + max_positions + "&position_id=" + position_id + "&vehicles=" ;
2642+ } else {
2643+ var data_str = "mode=3days&type=positions&format=json&max_positions=" + max_positions + "&position_id=0&vehicles=" + encodeURIComponent ( wvar . query ) ;
2644+ }
26392645 } else {
26402646 var data_str = "mode=" + mode + "&type=positions&format=json&max_positions=" + max_positions + "&position_id=" + position_id + "&vehicles=" + encodeURIComponent ( wvar . query ) ;
26412647 }
@@ -2648,15 +2654,19 @@ function refresh() {
26482654 success : function ( response , textStatus ) {
26492655 $ ( "#stText" ) . text ( "loading |" ) ;
26502656 response . fetch_timestamp = Date . now ( ) ;
2651- if ( wvar . query != null ) {
2657+ if ( sondePrefix . indexOf ( wvar . query ) > - 1 ) {
2658+ update ( response ) ;
2659+ } else if ( wvar . query != null ) {
26522660 if ( JSON . stringify ( response ) . indexOf ( wvar . query ) == - 1 ) {
26532661 //check using new API
26542662 ajax_inprogress = false ;
26552663 refreshSingleOld ( wvar . query ) ;
26562664 } else {
2665+ ajax_inprogress_old = wvar . query ;
26572666 update ( response ) ;
26582667 }
26592668 } else {
2669+ ajax_inprogress_old = wvar . query ;
26602670 update ( response ) ;
26612671 }
26622672 $ ( "#stText" ) . text ( "" ) ;
@@ -2742,10 +2752,6 @@ function refreshSingleOld(serial) {
27422752 }
27432753 }
27442754
2745- if ( ajax_inprogress_old == serial ) {
2746- return ;
2747- }
2748-
27492755 document . getElementById ( "timeperiod" ) . disabled = true ;
27502756
27512757 var data_url = "https://api.v2.sondehub.org/sonde/" + encodeURIComponent ( serial ) ;
@@ -2806,6 +2812,9 @@ function refreshSingleOld(serial) {
28062812 if ( data [ i ] . pressure ) {
28072813 dataTempEntry . data . pressure = data [ i ] . pressure ;
28082814 }
2815+ if ( data [ i ] . xdata ) {
2816+ dataTempEntry . data . xdata = data [ i ] . xdata ;
2817+ }
28092818 dataTemp . push ( dataTempEntry ) ;
28102819 } else {
28112820 var dataTempEntry = { } ;
@@ -3507,6 +3516,16 @@ function update(response, flag) {
35073516 }
35083517 }
35093518
3519+ if ( sondePrefix . indexOf ( wvar . query ) > - 1 ) {
3520+ for ( var i = response . positions . position . length - 1 ; i >= 0 ; i -- ) {
3521+ try {
3522+ if ( ! response . positions . position [ i ] . type . includes ( wvar . query ) ) {
3523+ response . positions . position . splice ( i , 1 )
3524+ }
3525+ } catch ( e ) { }
3526+ }
3527+ }
3528+
35103529 ssdv = ( ! response . ssdv ) ? { } : response . ssdv ;
35113530
35123531 // create a dummy response object for postions
0 commit comments