2020-09-15 20:20:01 +00:00
<!-- General JS Files used across Cloudlog -->
< script src = " <?php echo base_url(); ?>assets/js/jquery-3.3.1.min.js " ></ script >
2020-11-11 15:08:59 +00:00
< script src = " <?php echo base_url(); ?>assets/js/popper.min.js " ></ script >
2020-09-15 20:20:01 +00:00
< script src = " <?php echo base_url(); ?>assets/js/jquery.fancybox.min.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/bootstrap.bundle.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/jquery.jclock.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/leaflet/leaflet.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url() ;?>assets/js/radiohelpers.js " ></ script >
2020-09-22 19:08:26 +00:00
< script src = " <?php echo base_url(); ?>assets/js/bootstrapdialog/js/bootstrap-dialog.min.js " ></ script >
2020-06-15 15:59:27 +00:00
< script type = " text/javascript " >
2020-09-15 20:02:33 +00:00
/*
*
* Define global javascript variables
*
*/
var base_url = " <?php echo base_url(); ?> " ; // Base URL
var site_url = " <?php echo site_url(); ?> " ; // Site URL
2020-06-15 15:59:27 +00:00
var icon_dot_url = " <?php echo base_url();?>assets/images/dot.png " ;
</ script >
2020-09-15 20:09:18 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " adif " ) { ?>
2020-09-15 20:20:01 +00:00
<!-- Javascript used for ADIF Import and Export Areas -->
2020-11-08 10:26:38 +00:00
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/moment.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/tempusdominus-bootstrap-4.min.js " ></ script >
2020-09-15 20:09:18 +00:00
< script src = " <?php echo base_url() ;?>assets/js/sections/adif.js " ></ script >
< ? php } ?>
2020-02-07 13:17:05 +00:00
2019-10-05 21:14:52 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " notes " && ( $this -> uri -> segment ( 2 ) == " add " || $this -> uri -> segment ( 2 ) == " edit " ) ) { ?>
2020-09-15 20:20:01 +00:00
<!-- Javascript used for Notes Area -->
2019-10-05 20:57:44 +00:00
< script src = " <?php echo base_url() ;?>assets/plugins/quill/quill.min.js " ></ script >
2020-09-15 20:09:18 +00:00
< script src = " <?php echo base_url() ;?>assets/js/sections/notes.js " ></ script >
2019-10-05 20:57:44 +00:00
< ? php } ?>
2021-01-29 20:11:35 +00:00
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/datatables.min.js " ></ script >
2020-10-19 12:10:58 +00:00
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/dataTables.buttons.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/buttons.html5.min.js " ></ script >
2021-01-15 22:55:53 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/selectize.js " ></ script >
2020-09-22 19:08:26 +00:00
2019-09-11 23:53:39 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " search " && $this -> uri -> segment ( 2 ) == " filter " ) { ?>
< script type = " text/javascript " src = " <?php echo base_url() ;?>assets/js/query-builder.standalone.min.js " ></ script >
< script type = " text/javascript " >
$ ( " .search-results-box " ) . hide ();
$ ( '#builder' ) . queryBuilder ({
filters : [
< ? php foreach ( $get_table_names -> result () as $row ) {
$value_name = str_replace ( " COL_ " , " " , $row -> Field );
2019-09-24 23:50:47 +00:00
if ( $value_name != " PRIMARY_KEY " && strpos ( $value_name , 'MY_' ) === false && strpos ( $value_name , '_INTL' ) == false ) { ?>
2019-09-11 23:53:39 +00:00
{
id : '<?php echo $row->Field; ?>' ,
label : '<?php echo $value_name; ?>' ,
2019-09-14 16:42:20 +00:00
< ? php if ( strpos ( $row -> Type , 'int(' ) !== false ) { ?>
type : 'integer' ,
operators : [ 'equal' , 'not_equal' , 'less' , 'less_or_equal' , 'greater' , 'greater_or_equal' ]
< ? php } elseif ( strpos ( $row -> Type , 'double' ) !== false ) { ?>
type : 'double' ,
operators : [ 'equal' , 'not_equal' , 'less' , 'less_or_equal' , 'greater' , 'greater_or_equal' ]
< ? php } elseif ( strpos ( $row -> Type , 'datetime' ) !== false ) { ?>
type : 'datetime' ,
operators : [ 'equal' , 'not_equal' , 'less' , 'less_or_equal' , 'greater' , 'greater_or_equal' ]
< ? php } else { ?>
2019-09-11 23:53:39 +00:00
type : 'string' ,
2019-10-09 16:57:55 +00:00
operators : [ 'equal' , 'not_equal' , 'begins_with' , 'contains' , 'ends_with' , 'is_empty' , 'is_not_empty' , 'is_null' , 'is_not_null' ]
2019-09-14 16:42:20 +00:00
< ? php } ?>
2019-09-11 23:53:39 +00:00
},
< ? php } ?>
< ? php } ?>
]
});
$ ( '#btn-get' ) . on ( 'click' , function () {
var result = $ ( '#builder' ) . queryBuilder ( 'getRules' );
if ( ! $ . isEmptyObject ( result )) {
//alert(JSON.stringify(result, null, 2));
$ . post ( " <?php echo site_url('search/json_result');?> " , { search : JSON . stringify ( result , null , 2 ), temp : " testvar " })
. done ( function ( data ) {
2019-09-14 19:41:43 +00:00
//console.log(data)
2019-09-11 23:53:39 +00:00
//alert( "Data Loaded: " + data );
$ ( '.qso' ) . remove ();
$ ( " .search-results-box " ) . show ();
$ . each ( JSON . parse ( data ), function ( i , item ) {
2019-09-14 19:40:17 +00:00
var band = " " ;
if ( item . COL_SAT_NAME != " " ) {
band = item . COL_SAT_NAME ;
} else {
band = item . COL_BAND ;
}
2020-09-24 19:40:29 +00:00
var callsign = '<a href="javascript:displayQso(' + item . COL_PRIMARY_KEY + ');" >' + item . COL_CALL + '</a>' ;
2020-09-04 20:14:47 +00:00
if ( item . COL_SUBMODE == '' || item . COL_SUBMODE == null ) {
2020-05-24 06:51:30 +00:00
$ ( '#results' ) . append ( '<tr class="qso"><td>' + item . COL_TIME_ON + '</td><td>' + callsign + '</td><td>' + item . COL_MODE + '</td><td>' + item . COL_RST_SENT + '</td><td>' + item . COL_RST_RCVD + '</td><td>' + band + '</td><td>' + item . COL_COUNTRY + '</td><td></td></tr>' );
2020-08-21 16:09:48 +00:00
}
else {
2020-05-24 06:51:30 +00:00
$ ( '#results' ) . append ( '<tr class="qso"><td>' + item . COL_TIME_ON + '</td><td>' + callsign + '</td><td>' + item . COL_SUBMODE + '</td><td>' + item . COL_RST_SENT + '</td><td>' + item . COL_RST_RCVD + '</td><td>' + band + '</td><td>' + item . COL_COUNTRY + '</td><td></td></tr>' );
2020-08-21 16:09:48 +00:00
}
2019-09-11 23:53:39 +00:00
});
});
}
else {
2019-09-14 19:40:17 +00:00
//console.log("invalid object :");
2019-09-11 23:53:39 +00:00
}
});
$ ( '#btn-set' ) . on ( 'click' , function () {
//$('#builder').queryBuilder('setRules', rules_basic);
var result = $ ( '#builder' ) . queryBuilder ( 'getRules' );
if ( ! $ . isEmptyObject ( result )) {
rules_basic = result ;
}
});
//When rules changed :
$ ( '#builder' ) . on ( 'getRules.queryBuilder.filter' , function ( e ) {
//$log.info(e.value);
});
</ script >
< ? php } ?>
2019-01-09 15:18:46 +00:00
< script >
$ ( document ) . ready ( function () {
$ ( '#create_station_profile #country' ) . val ( $ ( " #dxcc_select option:selected " ) . text ());
$ ( " #create_station_profile #dxcc_select " ) . change ( function () {
$ ( '#country' ) . val ( $ ( " #dxcc_select option:selected " ) . text ());
});
});
</ script >
2019-01-13 15:59:16 +00:00
2019-03-20 17:47:40 +00:00
< script >
2020-11-11 15:08:59 +00:00
var $ = jQuery . noConflict ();
2019-10-06 15:38:54 +00:00
$ ( '[data-fancybox]' ) . fancybox ({
2020-11-08 10:26:38 +00:00
toolbar : false ,
smallBtn : true ,
iframe : {
preload : false
}
2020-11-11 15:08:59 +00:00
});
2019-10-08 20:11:13 +00:00
2019-03-20 17:47:40 +00:00
</ script >
2019-04-08 14:36:23 +00:00
2020-12-07 17:28:19 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " map " && $this -> uri -> segment ( 2 ) == " custom " ) { ?>
<!-- Javascript used for ADIF Import and Export Areas -->
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/moment.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/tempusdominus-bootstrap-4.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/L.Maidenhead.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/leafembed.js " ></ script >
< script type = " text/javascript " >
$ ( function () {
$ ( '[data-toggle="tooltip"]' ) . tooltip ()
});
< ? php if ( $qra == " set " ) { ?>
var q_lat = < ? php echo $qra_lat ; ?> ;
var q_lng = < ? php echo $qra_lng ; ?> ;
< ? php } else { ?>
var q_lat = 40.313043 ;
var q_lng = - 32.695312 ;
< ? php } ?>
var qso_loc = '<?php echo site_url(' map / map_data_custom / ');?><?php echo urlencode($date_from); ?>/<?php echo urlencode($date_to); ?>' ;
var q_zoom = 2 ;
$ ( document ) . ready ( function (){
< ? php if ( $this -> config -> item ( 'map_gridsquares' ) != FALSE ) { ?>
var grid = " Yes " ;
< ? php } else { ?>
var grid = " No " ;
< ? php } ?>
initmap ( grid );
});
</ script >
< ? php } ?>
< ? php if ( $this -> uri -> segment ( 1 ) == " map " && $this -> uri -> segment ( 2 ) == " " ) { ?>
2020-12-07 16:32:12 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/L.Maidenhead.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/leafembed.js " ></ script >
< script type = " text/javascript " >
$ ( function () {
$ ( '[data-toggle="tooltip"]' ) . tooltip ()
});
< ? php if ( $qra == " set " ) { ?>
var q_lat = < ? php echo $qra_lat ; ?> ;
var q_lng = < ? php echo $qra_lng ; ?> ;
< ? php } else { ?>
var q_lat = 40.313043 ;
var q_lng = - 32.695312 ;
< ? php } ?>
var qso_loc = '<?php echo site_url(' map / map_data ');?>' ;
var q_zoom = 2 ;
$ ( document ) . ready ( function (){
< ? php if ( $this -> config -> item ( 'map_gridsquares' ) != FALSE ) { ?>
var grid = " Yes " ;
< ? php } else { ?>
var grid = " No " ;
< ? php } ?>
initmap ( grid );
});
</ script >
< ? php } ?>
2019-05-06 10:06:38 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " " || $this -> uri -> segment ( 1 ) == " dashboard " ) { ?>
2019-06-24 16:32:22 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/L.Maidenhead.js " ></ script >
2019-05-21 12:44:22 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/leafembed.js " ></ script >
2019-03-20 16:58:06 +00:00
< script type = " text/javascript " >
2020-02-27 22:17:42 +00:00
$ ( function () {
$ ( '[data-toggle="tooltip"]' ) . tooltip ()
2020-02-27 22:18:54 +00:00
});
2019-03-20 16:58:06 +00:00
< ? php if ( $qra == " set " ) { ?>
var q_lat = < ? php echo $qra_lat ; ?> ;
var q_lng = < ? php echo $qra_lng ; ?> ;
< ? php } else { ?>
var q_lat = 40.313043 ;
var q_lng = - 32.695312 ;
< ? php } ?>
var qso_loc = '<?php echo site_url(' dashboard / map ');?>' ;
2020-08-22 22:34:15 +00:00
var q_zoom = 3 ;
2019-03-20 16:58:06 +00:00
$ ( document ) . ready ( function (){
2019-06-24 16:32:22 +00:00
< ? php if ( $this -> config -> item ( 'map_gridsquares' ) != FALSE ) { ?>
var grid = " Yes " ;
< ? php } else { ?>
var grid = " No " ;
< ? php } ?>
initmap ( grid );
2019-03-20 16:58:06 +00:00
});
</ script >
2019-04-08 14:36:23 +00:00
< ? php } ?>
2019-03-20 16:58:06 +00:00
2019-01-13 15:59:16 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " radio " ) { ?>
<!-- If this is the admin / radio page run the JS -->
< script type = " text/javascript " >
$ ( document ) . ready ( function (){
setInterval ( function () {
// Get Mode
$ . get ( 'radio/status/' , function ( result ) {
//$('.status').append(result);
$ ( '.status' ) . html ( result );
});
2019-05-21 12:44:22 +00:00
}, 2000 );
2019-01-13 15:59:16 +00:00
});
</ script >
< ? php } ?>
2019-05-14 10:52:11 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " search " ) { ?>
< script type = " text/javascript " >
i = 0 ;
2019-09-04 21:11:55 +00:00
function searchButtonPress (){
event . preventDefault ()
if ( $ ( '#callsign' ) . val ()) {
$ ( '#partial_view' ) . load ( " logbook/search_result/ " + $ ( '#callsign' ) . val (), function () {});
}
}
2019-05-14 10:52:11 +00:00
$ ( document ) . ready ( function (){
2019-09-04 21:11:55 +00:00
< ? php if ( $this -> input -> post ( 'callsign' ) != " " ) { ?>
2019-05-14 10:52:11 +00:00
$ ( '#partial_view' ) . load ( " logbook/search_result/<?php echo $this->input ->post('callsign'); ?> " , function () {
});
2019-09-04 21:11:55 +00:00
< ? php } ?>
$ ( document ) . on ( 'keypress' , function ( e ) {
if ( e . which == 13 ) {
2019-05-14 10:52:11 +00:00
2019-09-04 21:11:55 +00:00
if ( $ ( '#callsign' ) . val ()) {
$ ( '#partial_view' ) . load ( " logbook/search_result/ " + $ ( '#callsign' ) . val (), function () {});
2019-05-14 10:52:11 +00:00
}
2019-09-04 21:11:55 +00:00
event . preventDefault ();
return false ;
}
});
2019-05-14 10:52:11 +00:00
});
</ script >
< ? php } ?>
2019-05-25 17:43:32 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " logbook " && $this -> uri -> segment ( 2 ) != " view " ) { ?>
2019-06-24 17:21:02 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/L.Maidenhead.js " ></ script >
2019-05-21 15:47:42 +00:00
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/leafembed.js " ></ script >
2019-05-14 15:46:16 +00:00
< script type = " text/javascript " >
< ? php if ( $qra == " set " ) { ?>
var q_lat = < ? php echo $qra_lat ; ?> ;
var q_lng = < ? php echo $qra_lng ; ?> ;
< ? php } else { ?>
var q_lat = 40.313043 ;
var q_lng = - 32.695312 ;
< ? php } ?>
var qso_loc = '<?php echo site_url(' logbook / qso_map / 25 / '.$this->uri->segment(3)); ?>' ;
2020-08-23 15:42:23 +00:00
var q_zoom = 3 ;
2019-05-14 15:46:16 +00:00
2019-06-24 17:21:02 +00:00
< ? php if ( $this -> config -> item ( 'map_gridsquares' ) != FALSE ) { ?>
var grid = " Yes " ;
< ? php } else { ?>
var grid = " No " ;
< ? php } ?>
initmap ( grid );
2019-05-14 15:46:16 +00:00
</ script >
2019-05-21 12:44:22 +00:00
< ? php } ?>
< ? php if ( $this -> uri -> segment ( 1 ) == " qso " ) { ?>
2020-05-21 20:01:43 +00:00
< script type = " text/javascript " >
$ ( document ) . ready ( function () {
2021-01-15 22:55:53 +00:00
var baseURL = " <?php echo base_url();?> " ;
2021-01-31 14:02:23 +00:00
$ ( '#input_usa_state' ) . change ( function (){
var state = $ ( " #input_usa_state option:selected " ) . text ();
if ( state != " " ) {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , false );
$ ( '#stationCntyInput' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
var state = $ ( " #input_usa_state option:selected " ) . text ();
if ( ! query || state == " " ) return callback ();
$ . ajax ({
url : baseURL + 'index.php/qso/get_county' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
state : state ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
} else {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , true );
$ ( '#stationCntyInput' )[ 0 ] . selectize . destroy ();
$ ( " #stationCntyInput " ) . val ( " " );
}
});
2021-01-15 22:55:53 +00:00
$ ( '#sota_ref' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
if ( ! query || query . length < 3 ) return callback (); // Only trigger if 3 or more characters are entered
$ . ajax ({
url : baseURL + 'index.php/qso/get_sota' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
2021-01-20 11:56:53 +00:00
$ ( '#darc_dok' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
if ( ! query ) return callback (); // Only trigger if 3 or more characters are entered
$ . ajax ({
url : baseURL + 'index.php/qso/get_dok' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
2020-05-21 20:01:43 +00:00
/*
Populate the Satellite Names Field on the QSO Panel
*/
$ . getJSON ( " <?php echo base_url();?>assets/json/satellite_data.json " , function ( data ) {
// Build the options array
var items = [];
$ . each ( data , function ( key , val ) {
items . push (
'<option value="' + key + '">' + key + '</option>'
);
});
// Add to the datalist
$ ( '.satellite_names_list' ) . append ( items . join ( " " ));
});
});
var selected_sat ;
var selected_sat_mode ;
$ ( document ) . on ( 'change' , 'input' , function (){
var optionslist = $ ( '.satellite_names_list' )[ 0 ] . options ;
var value = $ ( this ) . val ();
for ( var x = 0 ; x < optionslist . length ; x ++ ){
if ( optionslist [ x ] . value === value ) {
$ ( " #sat_mode " ) . val ( " " );
$ ( '.satellite_modes_list' ) . find ( 'option' ) . remove () . end ();
selected_sat = value ;
// get Json file
$ . getJSON ( " <?php echo base_url();?>assets/json/satellite_data.json " , function ( data ) {
// Build the options array
var sat_modes = [];
$ . each ( data , function ( key , val ) {
if ( key == value ) {
$ . each ( val . Modes , function ( key1 , val2 ) {
//console.log (key1);
sat_modes . push ( '<option value="' + key1 + '">' + key1 + '</option>' );
});
}
});
// Add to the datalist
$ ( '.satellite_modes_list' ) . append ( sat_modes . join ( " " ));
});
}
}
});
$ ( document ) . on ( 'change' , 'input' , function (){
var optionslist = $ ( '.satellite_modes_list' )[ 0 ] . options ;
var value = $ ( this ) . val ();
for ( var x = 0 ; x < optionslist . length ; x ++ ){
if ( optionslist [ x ] . value === value ) {
// Store selected sat mode
selected_sat_mode = value ;
// get Json file
$ . getJSON ( " <?php echo base_url();?>assets/json/satellite_data.json " , function ( data ) {
// Build the options array
var sat_modes = [];
$ . each ( data , function ( key , val ) {
if ( key == selected_sat ) {
$ . each ( val . Modes , function ( key1 , val2 ) {
if ( key1 == selected_sat_mode ) {
if ( val2 [ 0 ] . Uplink_Mode == " LSB " || val2 [ 0 ] . Uplink_Mode == " USB " ) {
$ ( " #mode " ) . val ( " SSB " );
} else {
$ ( " #mode " ) . val ( val2 [ 0 ] . Uplink_Mode );
}
$ ( " #band " ) . val ( frequencyToBand ( val2 [ 0 ] . Uplink_Freq ));
2020-12-26 14:07:00 +00:00
$ ( " #band_rx " ) . val ( frequencyToBand ( val2 [ 0 ] . Downlink_Freq ));
2020-05-21 20:01:43 +00:00
$ ( " #frequency " ) . val ( val2 [ 0 ] . Uplink_Freq );
$ ( " #frequency_rx " ) . val ( val2 [ 0 ] . Downlink_Freq );
$ ( " #selectPropagation " ) . val ( 'SAT' );
}
});
}
});
});
}
}
});
</ script >
2019-06-13 23:14:39 +00:00
< script >
var markers = L . layerGroup ();
var mymap = L . map ( 'qsomap' ) . setView ([ 51.505 , - 0.09 ], 13 );
2020-12-26 14:58:41 +00:00
L . tileLayer ( '<?php echo $this->optionslib->get_option(' map_tile_server ');?>' , {
2019-06-13 23:14:39 +00:00
maxZoom : 18 ,
2020-12-26 14:58:41 +00:00
attribution : '<?php echo $this->optionslib->get_option(' map_tile_server_copyright ');?>' ,
2019-06-13 23:14:39 +00:00
id : 'mapbox.streets'
}) . addTo ( mymap );
</ script >
2019-05-21 12:44:22 +00:00
< script type = " text/javascript " >
var manual = < ? php echo $_GET [ 'manual' ]; ?> ;
$ ( document ) . ready ( function () {
2020-04-25 06:09:29 +00:00
$ ( '.callsign-suggest' ) . hide ();
setRst ( $ ( " .mode " ) . val ());
2019-08-15 11:03:15 +00:00
2019-05-21 12:44:22 +00:00
/* On Page Load */
var catcher = function () {
var changed = false ;
$ ( 'form' ) . each ( function () {
if ( $ ( this ) . data ( 'initialForm' ) != $ ( this ) . serialize ()) {
changed = true ;
$ ( this ) . addClass ( 'changed' );
} else {
$ ( this ) . removeClass ( 'changed' );
}
});
if ( changed ) {
return 'Unsaved QSO!' ;
}
};
$ ( function () {
$ ( 'form' ) . each ( function () {
$ ( this ) . data ( 'initialForm' , $ ( this ) . serialize ());
}) . submit ( function ( e ) {
var formEl = this ;
var changed = false ;
$ ( 'form' ) . each ( function () {
if ( this != formEl && $ ( this ) . data ( 'initialForm' ) != $ ( this ) . serialize ()) {
changed = true ;
$ ( this ) . addClass ( 'changed' );
} else {
$ ( this ) . removeClass ( 'changed' );
}
});
if ( changed && ! confirm ( 'You have an unsaved QSO. Continue with QSO?' )) {
e . preventDefault ();
} else {
$ ( window ) . unbind ( 'beforeunload' , catcher );
}
});
$ ( window ) . bind ( 'beforeunload' , catcher );
});
// Callsign always has focus on load
$ ( " #callsign " ) . focus ();
if ( ! manual ) {
$ ( function ( $ ) {
var options = {
utc : true ,
2019-10-06 15:38:54 +00:00
format : '%H:%M:%S'
2019-05-21 12:44:22 +00:00
}
2019-05-25 21:11:53 +00:00
$ ( '.input_time' ) . jclock ( options );
2019-05-21 12:44:22 +00:00
});
2019-05-25 21:17:35 +00:00
$ ( function ( $ ) {
var options = {
utc : true ,
format : '%d-%m-%Y'
}
$ ( '.input_date' ) . jclock ( options );
});
2019-05-21 12:44:22 +00:00
}
});
2019-06-24 15:18:17 +00:00
/* Function: reset_fields is used to reset the fields on the QSO page */
2019-06-24 15:13:51 +00:00
function reset_fields () {
2019-07-25 13:16:09 +00:00
2019-05-21 12:44:22 +00:00
$ ( '#locator_info' ) . text ( " " );
$ ( '#country' ) . val ( " " );
2019-06-16 15:37:26 +00:00
$ ( '#lotw_info' ) . text ( " " );
2019-05-21 12:44:22 +00:00
$ ( '#dxcc_id' ) . val ( " " );
$ ( '#cqz' ) . val ( " " );
$ ( '#name' ) . val ( " " );
$ ( '#qth' ) . val ( " " );
$ ( '#locator' ) . val ( " " );
$ ( '#iota_ref' ) . val ( " " );
$ ( " #locator " ) . removeClass ( " workedGrid " );
$ ( " #locator " ) . removeClass ( " newGrid " );
2019-10-13 21:07:19 +00:00
$ ( " #callsign " ) . removeClass ( " workedGrid " );
$ ( " #callsign " ) . removeClass ( " newGrid " );
2020-03-07 16:36:21 +00:00
$ ( '#callsign_info' ) . removeClass ( " badge-secondary " );
$ ( '#callsign_info' ) . removeClass ( " badge-success " );
$ ( '#callsign_info' ) . removeClass ( " badge-danger " );
2019-06-16 17:13:19 +00:00
$ ( '#qsl_via' ) . val ( " " );
2019-07-25 13:16:09 +00:00
$ ( '#callsign_info' ) . text ( " " );
2020-03-07 16:36:21 +00:00
$ ( '#input_usa_state' ) . val ( " " );
2020-04-06 21:03:55 +00:00
$ ( '#qso-last-table' ) . show ();
$ ( '#partial_view' ) . hide ();
2019-06-16 17:13:19 +00:00
2019-06-13 23:14:39 +00:00
mymap . setView ([ 51.505 , - 0.09 ], 13 );
mymap . removeLayer ( markers );
2019-08-15 11:06:24 +00:00
$ ( '.callsign-suggest' ) . hide ();
2019-06-24 15:13:51 +00:00
}
jQuery ( function ( $ ) {
var input = $ ( '#callsign' );
input . on ( 'keydown' , function () {
var key = event . keyCode || event . charCode ;
if ( key == 8 || key == 46 ) {
reset_fields ();
2019-05-21 12:44:22 +00:00
}
});
2019-12-22 20:15:18 +00:00
$ ( document ) . keyup ( function ( e ) {
if ( e . key === " Escape " ) { // escape key maps to keycode `27`
reset_fields ();
$ ( '#callsign' ) . val ( " " );
2020-04-19 20:08:38 +00:00
$ ( " #callsign " ) . focus ();
2019-12-22 20:15:18 +00:00
}
});
2019-05-21 12:44:22 +00:00
});
2020-12-23 08:23:31 +00:00
//Spacebar moves to the name field when you're entering a callsign
//Similar to contesting ux, good for pileups.
$ ( " #callsign " ) . on ( " keypress " , function ( e ) {
if ( e . which == 32 ){
$ ( " #name " ) . focus ();
return false ; //Eliminate space char
}
});
2019-05-21 12:44:22 +00:00
2019-08-13 21:02:36 +00:00
// On Key up check and suggest callsigns
$ ( " #callsign " ) . keyup ( function () {
if ( $ ( this ) . val () . length >= 3 ) {
$ ( '.callsign-suggest' ) . show ();
$ . get ( 'lookup/scp/' + $ ( this ) . val () . toUpperCase (), function ( result ) {
$ ( '.callsign-suggestions' ) . text ( result );
});
}
});
2020-04-13 08:34:02 +00:00
$ ( '#dxcc_id' ) . on ( 'change' , function () {
$ . getJSON ( 'logbook/jsonentity/' + $ ( this ) . val (), function ( result ) {
if ( result . dxcc . name != undefined ) {
$ ( '#country' ) . val ( convert_case ( result . dxcc . name ));
$ ( '#cqz' ) . val ( convert_case ( result . dxcc . cqz ));
$ ( '#callsign_info' ) . removeClass ( " badge-secondary " );
$ ( '#callsign_info' ) . removeClass ( " badge-success " );
$ ( '#callsign_info' ) . removeClass ( " badge-danger " );
$ ( '#callsign_info' ) . attr ( 'title' , '' );
$ ( '#callsign_info' ) . text ( convert_case ( result . dxcc . name ));
2020-04-13 17:23:19 +00:00
changebadge ( result . dxcc . name );
2020-04-13 14:57:58 +00:00
// Set Map to Lat/Long it locator is not empty
if ( $ ( '#locator' ) . val () == " " ) {
2020-06-17 13:49:04 +00:00
var redIcon = L . icon ({
iconUrl : icon_dot_url ,
iconSize : [ 18 , 18 ], // size of the icon
});
2020-04-13 14:57:58 +00:00
markers . clearLayers ();
2020-06-17 13:49:04 +00:00
var marker = L . marker ([ result . dxcc . lat , result . dxcc . long ], { icon : redIcon });
mymap . setZoom ( 8 );
mymap . panTo ([ result . dxcc . lat , result . dxcc . long ]);
2020-04-13 14:57:58 +00:00
markers . addLayer ( marker ) . addTo ( mymap );
}
2020-04-13 08:34:02 +00:00
}
});
});
2020-04-13 17:23:19 +00:00
function changebadge ( entityname ) {
if ( $ ( " #sat_name " ) . val () != " " ) {
$ . getJSON ( 'logbook/jsonlookupdxcc/' + convert_case ( entityname ) + '/SAT/0/0' , function ( result )
{
$ ( '#callsign_info' ) . removeClass ( " badge-secondary " );
$ ( '#callsign_info' ) . removeClass ( " badge-success " );
$ ( '#callsign_info' ) . removeClass ( " badge-danger " );
$ ( '#callsign_info' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#callsign_info' ) . addClass ( " badge-success " );
$ ( '#callsign_info' ) . attr ( 'title' , 'DXCC was already worked in the past on this band and mode!' );
}
else
{
$ ( '#callsign_info' ) . addClass ( " badge-danger " );
$ ( '#callsign_info' ) . attr ( 'title' , 'New DXCC, not worked on this band and mode!' );
}
})
} else {
$ . getJSON ( 'logbook/jsonlookupdxcc/' + convert_case ( entityname ) + '/0/' + $ ( " #band " ) . val () + '/' + $ ( " #mode " ) . val (), function ( result )
{
// Reset CSS values before updating
$ ( '#callsign_info' ) . removeClass ( " badge-secondary " );
$ ( '#callsign_info' ) . removeClass ( " badge-success " );
$ ( '#callsign_info' ) . removeClass ( " badge-danger " );
$ ( '#callsign_info' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#callsign_info' ) . addClass ( " badge-success " );
$ ( '#callsign_info' ) . attr ( 'title' , 'DXCC was already worked in the past on this band and mode!' );
}
else
{
$ ( '#callsign_info' ) . addClass ( " badge-danger " );
$ ( '#callsign_info' ) . attr ( 'title' , 'New DXCC, not worked on this band and mode!' );
}
})
}
}
2020-05-08 11:52:53 +00:00
< ? php if ( $this -> config -> item ( 'qso_auto_qth' )) { ?>
2020-05-08 07:45:06 +00:00
$ ( '#qth' ) . focusout ( function () {
if ( $ ( '#locator' ) . val () === '' ) {
var lat = 0 ;
var lon = 0 ;
$ . ajax ({
async : false ,
type : 'GET' ,
dataType : " json " ,
url : " https://nominatim.openstreetmap.org/search/?city= " + $ ( this ) . val () + " &format=json&addressdetails=1&limit=1 " ,
data : {},
success : function ( data ) {
if ( typeof data [ 0 ] . lat !== 'undefined' ) {
lat = parseFloat ( data [ 0 ] . lat );
}
if ( typeof data [ 0 ] . lon !== 'undefined' ) {
lon = parseFloat ( data [ 0 ] . lon );
}
},
});
if ( lat !== 0 && lon !== 0 ) {
var qthloc = LatLng2Loc ( lat , lon , 10 );
if ( qthloc . length > 0 ) {
$ ( '#locator' ) . val ( qthloc . substr ( 0 , 6 )) . trigger ( 'focusout' );
}
}
}
});
LatLng2Loc = function ( y , x , num ) {
if ( x < - 180 ) {
x = x + 360 ;
}
if ( x > 180 ) {
x = x - 360 ;
}
var yqth , yi , yk , ydiv , yres , ylp , y ;
var ycalc = new Array ( 0 , 0 , 0 );
var yn = new Array ( 0 , 0 , 0 , 0 , 0 , 0 , 0 );
var ydiv_arr = new Array ( 10 , 1 , 1 / 24 , 1 / 240 , 1 / 240 / 24 );
ycalc [ 0 ] = ( x + 180 ) / 2 ;
ycalc [ 1 ] = y + 90 ;
for ( yi = 0 ; yi < 2 ; yi ++ ) {
for ( yk = 0 ; yk < 5 ; yk ++ ) {
ydiv = ydiv_arr [ yk ];
yres = ycalc [ yi ] / ydiv ;
ycalc [ yi ] = yres ;
if ( ycalc [ yi ] > 0 ) ylp = Math . floor ( yres ); else ylp = Math . ceil ( yres );
ycalc [ yi ] = ( ycalc [ yi ] - ylp ) * ydiv ;
yn [ 2 * yk + yi ] = ylp ;
}
}
var qthloc = " " ;
if ( num >= 2 ) qthloc += String . fromCharCode ( yn [ 0 ] + 0x41 ) + String . fromCharCode ( yn [ 1 ] + 0x41 );
if ( num >= 4 ) qthloc += String . fromCharCode ( yn [ 2 ] + 0x30 ) + String . fromCharCode ( yn [ 3 ] + 0x30 );
if ( num >= 6 ) qthloc += String . fromCharCode ( yn [ 4 ] + 0x41 ) + String . fromCharCode ( yn [ 5 ] + 0x41 );
if ( num >= 8 ) qthloc += ' ' + String . fromCharCode ( yn [ 6 ] + 0x30 ) + String . fromCharCode ( yn [ 7 ] + 0x30 );
if ( num >= 10 ) qthloc += String . fromCharCode ( yn [ 8 ] + 0x61 ) + String . fromCharCode ( yn [ 9 ] + 0x61 );
return qthloc ;
}
2020-05-08 11:52:53 +00:00
< ? php } ?>
2020-04-13 17:23:19 +00:00
2019-05-21 12:44:22 +00:00
$ ( " #callsign " ) . focusout ( function () {
2019-08-13 21:02:36 +00:00
2019-07-25 13:16:09 +00:00
if ( $ ( this ) . val () . length >= 3 ) {
2019-05-21 12:44:22 +00:00
/* Find and populate DXCC */
2019-08-13 21:02:36 +00:00
$ ( '.callsign-suggest' ) . hide ();
2019-08-16 11:25:31 +00:00
if ( $ ( " #sat_name " ) . val () != " " ){
var sat_type = " SAT " ;
var json_band = " 0 " ;
var json_mode = " 0 " ;
} else {
var sat_type = " 0 " ;
var json_band = $ ( " #band " ) . val ();
var json_mode = $ ( " #mode " ) . val ();
}
2021-01-29 20:11:35 +00:00
var find_callsign = $ ( this ) . val () . toUpperCase ();
2019-08-16 11:25:31 +00:00
2021-01-29 20:11:35 +00:00
find_callsign . replace ( / \ //g, "-");
// Replace / in a callsign with - to stop urls breaking
$ . getJSON ( 'logbook/json/' + find_callsign . replace ( / \ //g, "-") + '/' + sat_type + '/' + json_band + '/' + json_mode, function(result)
2019-05-21 12:44:22 +00:00
{
2019-06-16 15:37:26 +00:00
//$('#country').val(result); lotw_info
2019-08-13 15:11:12 +00:00
if ( result . dxcc . entity != undefined ) {
$ ( '#country' ) . val ( convert_case ( result . dxcc . entity ));
$ ( '#callsign_info' ) . text ( convert_case ( result . dxcc . entity ));
2019-10-13 20:42:41 +00:00
if ( $ ( " #sat_name " ) . val () != " " ) {
//logbook/jsonlookupgrid/io77/SAT/0/0
2021-01-29 20:20:01 +00:00
$ . getJSON ( 'logbook/jsonlookupcallsign/' + find_callsign . replace ( / \ //g, "-") + '/SAT/0/0', function(result)
2019-10-13 20:42:41 +00:00
{
// Reset CSS values before updating
$ ( '#callsign' ) . removeClass ( " workedGrid " );
$ ( '#callsign' ) . removeClass ( " newGrid " );
$ ( '#callsign' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#callsign' ) . addClass ( " workedGrid " );
$ ( '#callsign' ) . attr ( 'title' , 'Callsign was already worked in the past on this band and mode!' );
}
else
{
$ ( '#callsign' ) . addClass ( " newGrid " );
$ ( '#callsign' ) . attr ( 'title' , 'New Callsign!' );
}
})
} else {
2021-01-29 20:20:01 +00:00
$ . getJSON ( 'logbook/jsonlookupcallsign/' + find_callsign . replace ( / \ //g, "-") + '/0/' + $("#band").val() +'/' + $("#mode").val(), function(result)
2019-10-13 20:42:41 +00:00
{
// Reset CSS values before updating
$ ( '#callsign' ) . removeClass ( " workedGrid " );
$ ( '#callsign' ) . removeClass ( " newGrid " );
$ ( '#callsign' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#callsign' ) . addClass ( " workedGrid " );
$ ( '#callsign' ) . attr ( 'title' , 'Callsign was already worked in the past on this band and mode!' );
}
else
{
$ ( '#callsign' ) . addClass ( " newGrid " );
$ ( '#callsign' ) . attr ( 'title' , 'New Callsign!' );
}
})
}
2020-04-13 17:23:19 +00:00
changebadge ( result . dxcc . entity );
2019-08-13 15:11:12 +00:00
}
2019-06-16 15:37:26 +00:00
if ( result . lotw_member == " active " ) {
$ ( '#lotw_info' ) . text ( " LoTW " );
}
2019-08-13 15:11:12 +00:00
2019-06-13 23:14:39 +00:00
$ ( '#dxcc_id' ) . val ( result . dxcc . adif );
$ ( '#cqz' ) . val ( result . dxcc . cqz );
2020-04-13 08:34:02 +00:00
$ ( '#ituz' ) . val ( result . dxcc . ituz );
2019-06-13 23:14:39 +00:00
2020-06-17 13:49:04 +00:00
var redIcon = L . icon ({
iconUrl : icon_dot_url ,
iconSize : [ 18 , 18 ], // size of the icon
});
2019-06-13 23:14:39 +00:00
// Set Map to Lat/Long
markers . clearLayers ();
2020-06-17 13:49:04 +00:00
mymap . setZoom ( 8 );
2019-07-25 07:11:11 +00:00
if ( typeof result . latlng !== " undefined " && result . latlng !== false ) {
2020-06-17 13:49:04 +00:00
var marker = L . marker ([ result . latlng [ 0 ], result . latlng [ 1 ]], { icon : redIcon });
2020-05-08 07:45:06 +00:00
mymap . panTo ([ result . latlng [ 0 ], result . latlng [ 1 ]]);
2019-06-13 23:14:39 +00:00
} else {
2020-06-17 13:49:04 +00:00
var marker = L . marker ([ result . dxcc . lat , result . dxcc . long ], { icon : redIcon });
2020-05-08 07:45:06 +00:00
mymap . panTo ([ result . dxcc . lat , result . dxcc . long ]);
2019-06-13 23:14:39 +00:00
}
markers . addLayer ( marker ) . addTo ( mymap );
2019-06-16 16:49:39 +00:00
2019-05-21 12:44:22 +00:00
/* Find Locator if the field is empty */
if ( $ ( '#locator' ) . val () == " " ) {
$ ( '#locator' ) . val ( result . callsign_qra );
$ ( '#locator_info' ) . html ( result . bearing );
if ( result . callsign_qra != " " )
{
if ( result . workedBefore )
{
$ ( '#locator' ) . addClass ( " workedGrid " );
$ ( '#locator' ) . attr ( 'title' , 'Grid was already worked in the past' );
}
else
{
$ ( '#locator' ) . addClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , 'New grid!' );
}
}
else
{
$ ( '#locator' ) . removeClass ( " workedGrid " );
$ ( '#locator' ) . removeClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , '' );
}
}
/* Find Operators Name */
2019-06-16 16:49:39 +00:00
if ( $ ( '#qsl_via' ) . val () == " " ) {
$ ( '#qsl_via' ) . val ( result . qsl_manager );
}
2020-03-07 16:36:21 +00:00
/* Find Operators Name */
2019-05-21 12:44:22 +00:00
if ( $ ( '#name' ) . val () == " " ) {
$ ( '#name' ) . val ( result . callsign_name );
}
if ( $ ( '#qth' ) . val () == " " ) {
$ ( '#qth' ) . val ( result . callsign_qth );
}
2020-03-07 16:36:21 +00:00
/*
* Update state with returned value
*/
if ( $ ( " #input_usa_state " ) . val () == " " ) {
$ ( " #input_usa_state " ) . val ( result . callsign_state ) . trigger ( 'change' );
}
2019-06-16 17:13:19 +00:00
if ( $ ( '#iota_ref' ) . val () == " " ) {
2019-05-21 12:44:22 +00:00
$ ( '#iota_ref' ) . val ( result . callsign_iota );
}
2020-04-06 21:03:55 +00:00
// Hide the last QSO table
$ ( '#qso-last-table' ) . hide ();
$ ( '#partial_view' ) . show ();
2019-05-21 12:44:22 +00:00
/* display past QSOs */
$ ( '#partial_view' ) . html ( result . partial );
});
} else {
/* Reset fields ... */
$ ( '#callsign_info' ) . text ( " " );
$ ( '#locator_info' ) . text ( " " );
$ ( '#country' ) . val ( " " );
$ ( '#dxcc_id' ) . val ( " " );
$ ( '#cqz' ) . val ( " " );
$ ( '#name' ) . val ( " " );
$ ( '#qth' ) . val ( " " );
$ ( '#locator' ) . val ( " " );
$ ( '#iota_ref' ) . val ( " " );
$ ( " #locator " ) . removeClass ( " workedGrid " );
$ ( " #locator " ) . removeClass ( " newGrid " );
2019-10-13 21:07:19 +00:00
$ ( " #callsign " ) . removeClass ( " workedGrid " );
$ ( " #callsign " ) . removeClass ( " newGrid " );
2020-03-07 16:36:21 +00:00
$ ( '#callsign_info' ) . removeClass ( " badge-secondary " );
$ ( '#callsign_info' ) . removeClass ( " badge-success " );
$ ( '#callsign_info' ) . removeClass ( " badge-danger " );
$ ( '#input_usa_state' ) . val ( " " );
2019-05-21 12:44:22 +00:00
}
})
// Only set the frequency when not set by userdata/PHP.
if ( $ ( '#frequency' ) . val () == " " )
{
$ . get ( 'qso/band_to_freq/' + $ ( '#band' ) . val () + '/' + $ ( '.mode' ) . val (), function ( result ) {
$ ( '#frequency' ) . val ( result );
$ ( '#frequency_rx' ) . val ( " " );
});
}
/* on mode change */
$ ( '.mode' ) . change ( function () {
$ . get ( 'qso/band_to_freq/' + $ ( '#band' ) . val () + '/' + $ ( '.mode' ) . val (), function ( result ) {
$ ( '#frequency' ) . val ( result );
$ ( '#frequency_rx' ) . val ( " " );
});
});
/* Calculate Frequency */
/* on band change */
$ ( '#band' ) . change ( function () {
$ . get ( 'qso/band_to_freq/' + $ ( this ) . val () + '/' + $ ( '.mode' ) . val (), function ( result ) {
$ ( '#frequency' ) . val ( result );
$ ( '#frequency_rx' ) . val ( " " );
});
});
/* On Key up Calculate Bearing and Distance */
$ ( " #locator " ) . keyup ( function (){
if ( $ ( this ) . val ()) {
2019-06-24 15:02:02 +00:00
var qra_input = $ ( this ) . val ();
2019-08-16 11:06:19 +00:00
var qra_lookup = qra_input . substring ( 0 , 4 );
if ( qra_lookup . length >= 4 ) {
// Check Log if satname is provided
if ( $ ( " #sat_name " ) . val () != " " ) {
//logbook/jsonlookupgrid/io77/SAT/0/0
$ . getJSON ( 'logbook/jsonlookupgrid/' + qra_lookup . toUpperCase () + '/SAT/0/0' , function ( result )
{
// Reset CSS values before updating
$ ( '#locator' ) . removeClass ( " workedGrid " );
$ ( '#locator' ) . removeClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#locator' ) . addClass ( " workedGrid " );
$ ( '#locator' ) . attr ( 'title' , 'Grid was already worked in the past' );
}
else
{
$ ( '#locator' ) . addClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , 'New grid!' );
}
})
} else {
$ . getJSON ( 'logbook/jsonlookupgrid/' + qra_lookup . toUpperCase () + '/0/' + $ ( " #band " ) . val () + '/' + $ ( " #mode " ) . val (), function ( result )
{
// Reset CSS values before updating
$ ( '#locator' ) . removeClass ( " workedGrid " );
$ ( '#locator' ) . removeClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , '' );
if ( result . workedBefore )
{
$ ( '#locator' ) . addClass ( " workedGrid " );
$ ( '#locator' ) . attr ( 'title' , 'Grid was already worked in the past' );
}
else
{
$ ( '#locator' ) . addClass ( " newGrid " );
$ ( '#locator' ) . attr ( 'title' , 'New grid!' );
}
})
}
}
2020-05-08 07:45:06 +00:00
if ( qra_input . length >= 4 && $ ( this ) . val () . length > 0 ) {
2019-06-24 15:02:02 +00:00
$ . getJSON ( 'logbook/qralatlngjson/' + $ ( this ) . val (), function ( result )
{
// Set Map to Lat/Long
markers . clearLayers ();
if ( typeof result !== " undefined " ) {
2020-06-17 13:49:04 +00:00
var redIcon = L . icon ({
iconUrl : icon_dot_url ,
iconSize : [ 18 , 18 ], // size of the icon
});
var marker = L . marker ([ result [ 0 ], result [ 1 ]], { icon : redIcon });
2020-05-08 07:45:06 +00:00
mymap . setZoom ( 8 );
mymap . panTo ([ result [ 0 ], result [ 1 ]]);
2019-06-24 15:02:02 +00:00
}
markers . addLayer ( marker ) . addTo ( mymap );
})
$ ( '#locator_info' ) . load ( " logbook/searchbearing/ " + $ ( this ) . val ()) . fadeIn ( " slow " );
}
2019-05-21 12:44:22 +00:00
}
});
// Change report based on mode
$ ( '.mode' ) . change ( function (){
2020-04-25 06:09:29 +00:00
setRst ( $ ( '.mode' ) . val ());
2019-05-21 12:44:22 +00:00
});
2020-12-07 20:26:16 +00:00
function convert_case ( str ) {
var lower = str . toLowerCase ();
return lower . replace ( / ( ^| )( \w ) / g , function ( x ) {
return x . toUpperCase ();
});
}
</ script >
< ? php } ?>
< ? php if ( ( $this -> uri -> segment ( 1 ) == " qso " && $_GET [ 'manual' ] == 0 ) || $this -> uri -> segment ( 1 ) == " contesting " ) { ?>
< script >
2020-04-25 06:09:29 +00:00
function setRst ( mode ) {
2020-05-08 18:54:12 +00:00
if ( mode == 'JT65' || mode == 'JT65B' || mode == 'JT6C' || mode == 'JTMS' || mode == 'ISCAT' || mode == 'MSK144' || mode == 'JTMSK' || mode == 'QRA64' || mode == 'FT8' || mode == 'FT4' || mode == 'JS8' || mode == 'JT9' || mode == 'JT9-1' || mode == 'ROS' ){
2020-04-25 06:09:29 +00:00
$ ( '#rst_sent' ) . val ( '-5' );
$ ( '#rst_recv' ) . val ( '-5' );
} else if ( mode == 'FSK441' || mode == 'JT6M' ) {
$ ( '#rst_sent' ) . val ( '26' );
$ ( '#rst_recv' ) . val ( '26' );
} else if ( mode == 'CW' || mode == 'RTTY' || mode == 'PSK31' || mode == 'PSK63' ) {
$ ( '#rst_sent' ) . val ( '599' );
$ ( '#rst_recv' ) . val ( '599' );
} else {
$ ( '#rst_sent' ) . val ( '59' );
$ ( '#rst_recv' ) . val ( '59' );
}
}
2020-12-07 20:26:16 +00:00
</ script >
< ? php } ?>
< ? php if ( ( $this -> uri -> segment ( 1 ) == " qso " && $_GET [ 'manual' ] == 0 ) || $this -> uri -> segment ( 1 ) == " contesting " ) { ?>
< script >
// Javascript for controlling rig frequency.
2019-05-21 12:44:22 +00:00
var updateFromCAT = function () {
if ( $ ( 'select.radios option:selected' ) . val () != '0' ) {
2020-12-07 20:26:16 +00:00
radioID = $ ( 'select.radios option:selected' ) . val ();
2019-05-21 12:44:22 +00:00
$ . getJSON ( " radio/json/ " + radioID , function ( data ) {
/* {
" uplink_freq " : " 2400210000 " ,
" downlink_freq " : " 10489710000 " ,
" mode " : " SSB " ,
" satmode " : " " ,
" satname " : " ES'HAIL-2 "
} */
if ( data . uplink_freq != " " )
{
$ ( '#frequency' ) . val ( data . uplink_freq );
$ ( " #band " ) . val ( frequencyToBand ( data . uplink_freq ));
}
if ( data . downlink_freq != " " )
{
$ ( '#frequency_rx' ) . val ( data . downlink_freq );
2020-12-26 14:07:00 +00:00
$ ( " #band_rx " ) . val ( frequencyToBand ( data . downlink_freq ));
2019-05-21 12:44:22 +00:00
}
2019-06-17 19:21:58 +00:00
old_mode = $ ( " .mode " ) . val ();
2019-05-21 12:44:22 +00:00
if ( data . mode == " LSB " || data . mode == " USB " || data . mode == " SSB " ) {
$ ( " .mode " ) . val ( 'SSB' );
} else {
2020-12-07 20:26:16 +00:00
$ ( " .mode " ) . val ( data . mode );
2019-05-21 12:44:22 +00:00
}
2019-06-17 19:21:58 +00:00
if ( old_mode !== $ ( " .mode " ) . val ()) {
// Update RST on mode change via CAT
2020-04-25 06:09:29 +00:00
setRst ( $ ( " .mode " ) . val ());
2019-06-17 19:21:58 +00:00
}
2020-12-07 20:26:16 +00:00
$ ( " #sat_name " ) . val ( data . satname );
$ ( " #sat_mode " ) . val ( data . satmode );
2020-05-12 21:51:56 +00:00
// Display CAT Timeout warnng based on the figure given in the config file
var minutes = Math . floor ( < ? php echo $this -> config -> item ( 'cat_timeout_interval' ); ?> / 60);
if ( data . updated_minutes_ago > minutes ) {
if ( $ ( '.radio_timeout_error' ) . length == 0 ) {
2020-12-07 20:26:16 +00:00
$ ( '.qso_panel' ) . prepend ( '<div class="alert alert-danger radio_timeout_error" role="alert">Radio connection timed-out: ' + $ ( 'select.radios option:selected' ) . text () + ' data is ' + data . updated_minutes_ago + ' minutes old.</div>' );
2020-05-12 21:51:56 +00:00
} else {
2020-12-07 20:26:16 +00:00
$ ( '.radio_timeout_error' ) . text ( 'Radio connection timed-out: ' + $ ( 'select.radios option:selected' ) . text () + ' data is ' + data . updated_minutes_ago + ' minutes old.' );
2020-05-12 21:51:56 +00:00
}
} else {
$ ( " .radio_timeout_error " ) . remove ();
}
2019-05-21 12:44:22 +00:00
});
}
};
2019-09-06 16:09:19 +00:00
// Update frequency every three second
setInterval ( updateFromCAT , 3000 );
2019-05-21 12:44:22 +00:00
// If a radios selected from drop down select radio update.
$ ( '.radios' ) . change ( updateFromCAT );
// If radio isn't SatPC32 clear sat_name and sat_mode
$ ( " .radios " ) . change ( function () {
2019-08-18 15:00:15 +00:00
if ( $ ( " .radios option:selected " ) . text () != " SatPC32 " ) {
2020-12-07 20:26:16 +00:00
$ ( " #sat_name " ) . val ( " " );
$ ( " #sat_mode " ) . val ( " " );
$ ( " #frequency " ) . val ( " " );
$ ( " #frequency_rx " ) . val ( " " );
2020-12-26 14:07:00 +00:00
$ ( " #band_rx " ) . val ( " " );
2020-03-02 19:56:12 +00:00
$ ( " #selectPropagation " ) . val ( $ ( " #selectPropagation option:first " ) . val ());
2019-05-21 12:44:22 +00:00
}
2020-05-12 21:51:56 +00:00
if ( $ ( " .radios option:selected " ) . text () == " None " ) {
$ ( " .radio_timeout_error " ) . remove ();
}
2019-05-21 12:44:22 +00:00
});
</ script >
2019-05-25 16:59:19 +00:00
< ? php } ?>
2019-05-25 17:43:32 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " logbook " && $this -> uri -> segment ( 2 ) == " view " ) { ?>
< script >
var mymap = L . map ( 'map' ) . setView ([ lat , long ], 5 );
2020-12-26 14:58:41 +00:00
L . tileLayer ( '<?php echo $this->optionslib->get_option(' map_tile_server ');?>' , {
2019-05-25 17:43:32 +00:00
maxZoom : 18 ,
2020-12-26 14:58:41 +00:00
attribution : '<?php echo $this->optionslib->get_option(' map_tile_server_copyright ');?>' ,
2019-05-25 17:43:32 +00:00
id : 'mapbox.streets'
}) . addTo ( mymap );
2020-06-17 13:37:17 +00:00
var redIcon = L . icon ({
iconUrl : icon_dot_url ,
iconSize : [ 18 , 18 ], // size of the icon
});
L . marker ([ lat , long ], { icon : redIcon }) . addTo ( mymap )
2019-05-25 17:43:32 +00:00
. bindPopup ( callsign );
mymap . on ( 'click' , onMapClick );
</ script >
< ? php } ?>
2019-05-25 16:59:19 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " update " ) { ?>
< script >
$ ( document ) . ready ( function (){
$ ( '#btn_update_dxcc' ) . bind ( 'click' , function (){
$ ( '#dxcc_update_status' ) . show ();
$ . ajax ({ url : " update/dxcc " });
setTimeout ( update_stats , 5000 );
});
function update_stats (){
$ ( '#dxcc_update_status' ) . load ( '<?php echo base_url()?>updates/status.html' , function ( val ){
$ ( '#dxcc_update_staus' ) . html ( val );
if (( val === null ) || ( val . substring ( 0 , 4 ) != " DONE " )){
setTimeout ( update_stats , 5000 );
}
});
}
2019-05-21 12:44:22 +00:00
2019-05-25 16:59:19 +00:00
});
</ script >
2019-05-21 12:44:22 +00:00
2019-06-26 20:11:44 +00:00
< ? php } ?>
< ? php if ( $this -> uri -> segment ( 1 ) == " gridsquares " ) { ?>
< script type = " text/javascript " src = " <?php echo base_url();?>assets/js/leaflet/L.MaidenheadColoured.js " ></ script >
< script >
2020-12-26 14:58:41 +00:00
var layer = L . tileLayer ( '<?php echo $this->optionslib->get_option(' map_tile_server ');?>' , {
2019-06-26 20:11:44 +00:00
maxZoom : 18 ,
2020-12-26 14:58:41 +00:00
attribution : '<?php echo $this->optionslib->get_option(' map_tile_server_copyright ');?>' ,
2019-06-26 20:11:44 +00:00
id : 'mapbox.streets'
});
var map = L . map ( 'map' , {
layers : [ layer ],
center : [ 19 , 0 ],
2020-08-23 15:50:25 +00:00
zoom : 3
2019-06-26 20:11:44 +00:00
});
var grid_two = < ? php echo $grid_2char ; ?> ;
var grid_four = < ? php echo $grid_4char ; ?> ;
2020-04-02 13:59:48 +00:00
var grid_six = < ? php echo $grid_6char ; ?> ;
2019-06-26 20:11:44 +00:00
2019-06-28 16:07:34 +00:00
var grid_two_confirmed = < ? php echo $grid_2char_confirmed ; ?> ;
var grid_four_confirmed = < ? php echo $grid_4char_confirmed ; ?> ;
2020-04-02 13:59:48 +00:00
var grid_six_confirmed = < ? php echo $grid_6char_confirmed ; ?> ;
2019-06-28 16:07:34 +00:00
2019-06-26 20:11:44 +00:00
var maidenhead = L . maidenhead () . addTo ( map );
2020-03-14 22:09:25 +00:00
map . on ( 'click' , onMapClick );
function onMapClick ( event ) {
var LatLng = event . latlng ;
var lat = LatLng . lat ;
var lng = LatLng . lng ;
var locator = LatLng2Loc ( lat , lng , 10 );
2020-03-14 22:13:22 +00:00
var loc_4char = locator . substring ( 0 , 4 );
console . log ( loc_4char );
2020-03-16 11:20:10 +00:00
console . log ( map . getZoom ());
2020-03-16 17:35:14 +00:00
2020-03-16 11:20:10 +00:00
if ( map . getZoom () > 5 ) {
2020-03-16 17:35:14 +00:00
var search_type = " <?php echo $this->uri ->segment(2); ?> " ;
if ( search_type == " satellites " ) {
console . log ( " satellites search " );
var search_tags = " search_sat/ " + loc_4char ;
} else {
var band = " <?php echo $this->uri ->segment(3); ?> " ;
console . log ( band );
var search_tags = " search_band/ " + band + " / " + loc_4char ;
}
$ . getJSON ( " <?php echo site_url('gridsquares/');?> " + search_tags , function ( data ) {
2020-04-22 10:12:51 +00:00
var count = Object . keys ( data ) . length ;
2020-04-20 19:05:00 +00:00
console . log ( " Count: " + count );
2020-03-16 17:35:14 +00:00
var items = [];
$ . each ( data , function ( i , item ) {
console . log ( item . COL_CALL + item . COL_SAT_NAME );
if ( item . COL_SAT_NAME != undefined ) {
2020-04-20 19:05:00 +00:00
items . push ( " <tr><td> " + item . COL_TIME_ON + " </td><td> " + item . COL_CALL + " </td><td> " + item . COL_MODE + " </td><td> " + item . COL_SAT_NAME + " </td><td> " + item . COL_GRIDSQUARE + " </td></tr> " );
2020-03-16 17:35:14 +00:00
} else {
2020-04-20 19:05:00 +00:00
items . push ( " <tr><td> " + item . COL_TIME_ON + " </td><td> " + item . COL_CALL + " </td><td> " + item . COL_MODE + " </td><td> " + item . COL_BAND + " </td><td> " + item . COL_GRIDSQUARE + " </td></tr> " );
2020-03-16 17:35:14 +00:00
}
});
2020-04-20 19:05:00 +00:00
$ ( '#qso_count' ) . text ( count );
2020-04-21 09:48:43 +00:00
if ( count > 1 ) {
$ ( '#gt1_qso' ) . text ( " s " );
} else {
$ ( '#gt1_qso' ) . text ( " " );
}
2020-04-22 10:12:51 +00:00
2020-03-16 17:45:28 +00:00
$ ( " #grid_results tbody " ) . empty ();
2020-04-22 10:12:51 +00:00
if ( count > 0 ) {
$ ( " #grid_results tbody " ) . append ( items . join ( " " ));
2020-03-16 17:35:14 +00:00
2020-04-22 10:12:51 +00:00
$ ( '#square_number' ) . text ( loc_4char );
$ ( '#exampleModal' ) . modal ( 'show' );
}
2020-03-16 17:35:14 +00:00
2020-04-22 10:12:51 +00:00
});
2020-03-16 11:20:10 +00:00
}
2020-03-14 22:09:25 +00:00
};
2019-06-28 17:17:54 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " gridsquares " && $this -> uri -> segment ( 2 ) == " band " ) { ?>
var bands_available = < ? php echo $bands_available ; ?> ;
2020-04-25 06:36:44 +00:00
$ ( '#gridsquare_bands' ) . append ( '<option value="All">All</option>' )
$ . each ( bands_available , function ( key , value ) {
2019-06-28 17:17:54 +00:00
$ ( '#gridsquare_bands' )
. append ( $ ( " <option></option> " )
. attr ( " value " , value )
. text ( value ));
});
var num = " <?php echo $this->uri ->segment(3);?> " ;
$ ( " #gridsquare_bands option " ) . each ( function (){
if ( $ ( this ) . val () == num ){ // EDITED THIS LINE
$ ( this ) . attr ( " selected " , " selected " );
}
});
$ ( function (){
// bind change event to select
$ ( '#gridsquare_bands' ) . on ( 'change' , function () {
var url = $ ( this ) . val (); // get selected value
if ( url ) { // require a URL
window . location = " <?php echo site_url('gridsquares/band/');?> " + url
}
return false ;
});
});
< ? php } ?>
2020-02-18 09:49:27 +00:00
</ script >
< ? php } ?>
2020-04-24 21:29:01 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " dayswithqso " ) { ?>
2020-11-08 10:26:38 +00:00
< script src = " <?php echo base_url(); ?>assets/js/chart.js " ></ script >
2020-04-24 21:29:01 +00:00
< script >
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/dayswithqso/get_days' ,
success : function ( data ) {
var labels = [];
var dataDxcc = [];
$ . each ( data , function (){
labels . push ( this . Year );
dataDxcc . push ( this . Days );
});
var ctx = document . getElementById ( " myChartDiff " ) . getContext ( '2d' );
var myChart = new Chart ( ctx , {
type : 'bar' ,
data : {
labels : labels ,
datasets : [{
label : 'Days with QSOs' ,
data : dataDxcc ,
backgroundColor : 'rgba(54, 162, 235, 0.2)' ,
borderColor : 'rgba(54, 162, 235, 1)' ,
borderWidth : 2
}]
},
options : {
scales : {
yAxes : [{
ticks : {
beginAtZero : true
}
}]
},
}
});
}
});
</ script >
< ? php } ?>
2020-02-18 09:49:27 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " distances " ) { ?>
2020-11-08 10:26:38 +00:00
< script src = " <?php echo base_url(); ?>assets/js/highstock.js " ></ script >
2020-12-02 13:49:14 +00:00
< script src = " <?php echo base_url(); ?>assets/js/highstock/exporting.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/highstock/offline-exporting.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/highstock/export-data.js " ></ script >
2020-02-18 09:49:27 +00:00
< script >
2021-01-30 22:25:13 +00:00
$ ( '#distplot_bands' ) . change ( function (){
var band = $ ( " #distplot_bands option:selected " ) . text ();
if ( band != " SAT " ) {
$ ( " #distplot_sats " ) . prop ( 'disabled' , true );
} else {
$ ( " #distplot_sats " ) . prop ( 'disabled' , false );
2020-02-18 09:49:27 +00:00
}
});
function distPlot ( form ) {
$ ( " .alert " ) . remove ();
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/distances/get_distances' ,
type : 'post' ,
2021-01-30 22:25:13 +00:00
data : { 'band' : form . distplot_bands . value ,
'sat' : form . distplot_sats . value },
2020-02-18 09:49:27 +00:00
success : function ( tmp ) {
if ( tmp . ok == 'OK' ) {
if ( ! ( $ ( '#information' ) . length > 0 ))
$ ( " #distances_div " ) . append ( '<div id="information"></div><div id="graphcontainer" style="height: 600px; margin: 0 auto"></div>' );
var options = {
chart : {
type : 'column' ,
zoomType : 'xy' ,
renderTo : 'graphcontainer'
},
title : {
2020-12-22 09:33:08 +00:00
text : 'Distance Distribution'
2020-02-18 09:49:27 +00:00
},
xAxis : {
categories : [],
crosshair : true ,
type : " category " ,
min : 0 ,
max : 100
},
yAxis : {
title : {
2020-02-20 15:14:24 +00:00
text : '# QSOs'
2020-02-18 09:49:27 +00:00
}
},
navigator : {
enabled : true ,
xAxis : {
labels : {
formatter : function () {
2020-11-20 10:55:55 +00:00
return this . value * '50' + ' ' + tmp . unit ;
2020-02-18 09:49:27 +00:00
}
}
}
},
rangeSelector : {
selected : 1
},
tooltip : {
formatter : function () {
if ( this . point ) {
return " Distance: " + options . xAxis . categories [ this . point . x ] +
" <br />Callsign(s) worked (max 5 shown): " + myComments [ this . point . x ] +
2020-02-20 15:14:24 +00:00
" <br />Number of QSOs: <strong> " + series . data [ this . point . x ] + " </strong> " ;
2020-02-18 09:49:27 +00:00
}
}
},
series : []
};
var myComments = [];
var series = {
data : [],
showInNavigator : true
};
$ . each ( tmp . qsodata , function (){
myComments . push ( this . calls );
options . xAxis . categories . push ( this . dist );
2020-02-20 15:14:24 +00:00
series . name = 'Number of QSOs' ;
2020-02-18 09:49:27 +00:00
series . data . push ( this . count );
});
options . series . push ( series );
2020-02-20 16:12:31 +00:00
$ ( '#information' ) . html ( tmp . qrb . Qsoes + " contacts were plotted.<br /> Your furthest contact was with " + tmp . qrb . Callsign
2020-02-20 15:14:24 +00:00
+ " in gridsquare " + tmp . qrb . Grid
2020-11-23 01:53:51 +00:00
+ " ; the distance was "
2020-11-20 10:55:55 +00:00
+ tmp . qrb . Distance + tmp . unit + " . " );
2020-02-18 09:49:27 +00:00
var chart = new Highcharts . Chart ( options );
}
else {
if (( $ ( '#information' ) . length > 0 )) {
$ ( " #information " ) . remove ();
$ ( " #graphcontainer " ) . remove ();
}
$ ( " #distances_div " ) . append ( '<div class="alert alert-danger" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' + tmp . Error + '</div>' );
}
}
});
}
2019-06-26 20:11:44 +00:00
</ script >
2019-05-14 15:46:16 +00:00
< ? php } ?>
2020-04-25 21:11:13 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " import " ) { ?>
2020-11-08 10:26:38 +00:00
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/moment.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/tempusdominus-bootstrap-4.min.js " ></ script >
2020-04-25 21:11:13 +00:00
< script type = " text/javascript " >
$ ( function () {
$ ( '#datetimepicker1' ) . datetimepicker ({
format : 'DD/MM/YYYY' ,
});
});
</ script >
< ? php } ?>
2020-05-20 17:43:13 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " qrz " ) { ?>
< script >
function ExportQrz ( station_id ) {
2020-08-08 13:52:59 +00:00
if ( $ ( " .alert " ) . length > 0 ) {
$ ( " .alert " ) . remove ();
}
if ( $ ( " .errormessages " ) . length > 0 ) {
$ ( " .errormessages " ) . remove ();
}
2020-05-20 17:43:13 +00:00
$ ( " .ld-ext-right " ) . addClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , true );
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/qrz/upload_station' ,
type : 'post' ,
data : { 'station_id' : station_id },
success : function ( data ) {
$ ( " .ld-ext-right " ) . removeClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , false );
if ( data . status == 'OK' ) {
$ . each ( data . info , function ( index , value ){
$ ( '#modcount' + value . station_id ) . html ( value . modcount );
$ ( '#notcount' + value . station_id ) . html ( value . notcount );
$ ( '#totcount' + value . station_id ) . html ( value . totcount );
});
$ ( " .card-body " ) . append ( '<div class="alert alert-success" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' + data . infomessage + '</div>' );
}
else {
$ ( " .card-body " ) . append ( '<div class="alert alert-danger" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' + data . info + '</div>' );
}
2020-08-08 13:52:59 +00:00
if ( data . errormessages . length > 0 ) {
$ ( " .card-body " ) . append ( '' +
'<div class="errormessages"><p>\n' +
' <button class="btn btn-danger" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">\n' +
' Show error messages\n' +
' </button>\n' +
' </p>\n' +
' <div class="collapse" id="collapseExample">\n' +
' <div class="card card-body"><div class="errors"></div>\n' +
' </div>\n' +
' </div></div>' );
$ . each ( data . errormessages , function ( index , value ) {
$ ( " .errors " ) . append ( '<li>' + value );
});
}
2020-05-20 17:43:13 +00:00
}
});
}
</ script >
< ? php } ?>
2020-08-19 05:57:35 +00:00
< script >
2020-09-18 10:17:41 +00:00
function displayQso ( id ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/logbook/view/' + id ,
type : 'post' ,
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
cssClass : 'qso-dialog' ,
size : BootstrapDialog . SIZE_WIDE ,
nl2br : false ,
message : html ,
onshown : function ( dialog ) {
var qsoid = $ ( " #qsoid " ) . text ();
2020-10-26 08:58:49 +00:00
$ ( " .editButton " ) . html ( '<a class="btn btn-primary" id="edit_qso" href="javascript:qso_edit(' + qsoid + ')"><i class="fas fa-edit"></i> Edit QSO</a>' );
2020-09-18 10:17:41 +00:00
var lat = $ ( " #lat " ) . text ();
var long = $ ( " #long " ) . text ();
var callsign = $ ( " #callsign " ) . text ();
2020-09-24 18:22:09 +00:00
var mymap = L . map ( 'mapqso' ) . setView ([ lat , long ], 5 );
2020-09-18 10:17:41 +00:00
2020-12-26 14:58:41 +00:00
L . tileLayer ( '<?php echo $this->optionslib->get_option(' map_tile_server ');?>' , {
2020-09-18 10:17:41 +00:00
maxZoom : 18 ,
2020-12-26 14:58:41 +00:00
attribution : '<?php echo $this->optionslib->get_option(' map_tile_server_copyright ');?>' ,
2020-09-18 10:17:41 +00:00
id : 'mapbox.streets'
}) . addTo ( mymap );
var redIcon = L . icon ({
iconUrl : icon_dot_url ,
iconSize : [ 18 , 18 ], // size of the icon
});
L . marker ([ lat , long ], { icon : redIcon }) . addTo ( mymap )
. bindPopup ( callsign );
},
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
2020-09-18 10:17:41 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " dxcc " ) { ?>
< script >
$ ( '.tabledxcc' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 12:10:58 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-09-22 19:08:26 +00:00
});
2020-10-19 17:16:42 +00:00
$ ( '.tablesummary' ) . DataTable ({
info : false ,
searching : false ,
ordering : false ,
" paging " : false ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
});
2020-10-19 12:10:58 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-09-20 04:00:54 +00:00
function displayDxccContacts ( country , band ) {
2020-09-22 19:08:26 +00:00
var baseURL = " <?php echo base_url();?> " ;
2020-09-20 04:00:54 +00:00
$ . ajax ({
url : baseURL + 'index.php/awards/dxcc_details_ajax' ,
type : 'post' ,
2020-09-22 19:08:26 +00:00
data : {
'Country' : country ,
2020-09-20 04:00:54 +00:00
'Band' : band
},
2020-09-22 19:08:26 +00:00
success : function ( html ) {
2020-09-20 04:00:54 +00:00
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-dxcc-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
2020-09-20 04:00:54 +00:00
< ? php } ?>
2020-09-20 09:02:29 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " vucc_band " ) { ?>
< script >
$ ( '.tablevucc' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-09-22 19:08:26 +00:00
});
2020-09-20 12:09:46 +00:00
2020-10-19 17:16:42 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-09-20 12:09:46 +00:00
function displayVuccContacts ( gridsquare , band ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/awards/vucc_details_ajax' ,
type : 'post' ,
data : { 'Gridsquare' : gridsquare ,
'Band' : band
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-vucc-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
< ? php } ?>
2020-09-20 12:09:46 +00:00
2020-09-20 11:57:14 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " dok " ) { ?>
< script >
2020-09-20 11:57:14 +00:00
function displayDokContacts ( dok , band ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/awards/dok_details_ajax' ,
type : 'post' ,
data : { 'Dok' : dok ,
'Band' : band
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-dok-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
< ? php } ?>
2020-09-20 11:57:14 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " iota " ) { ?>
< script >
2020-09-20 11:57:14 +00:00
2020-09-22 19:08:26 +00:00
$ ( '.tableiota' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
});
$ ( '.tablesummary' ) . DataTable ({
info : false ,
searching : false ,
ordering : false ,
" paging " : false ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-09-22 19:08:26 +00:00
});
2020-09-20 09:09:22 +00:00
2020-10-19 17:16:42 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-09-20 09:09:22 +00:00
function displayIotaContacts ( iota , band ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/awards/iota_details_ajax' ,
type : 'post' ,
data : { 'Iota' : iota ,
'Band' : band
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-iota-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
2020-09-20 09:09:22 +00:00
2020-09-22 19:08:26 +00:00
< ? php } ?>
2020-09-20 09:02:29 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " cq " ) { ?>
< script >
2020-10-06 20:01:29 +00:00
$ ( '.tablecq' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-10-06 20:01:29 +00:00
});
2020-10-19 17:16:42 +00:00
$ ( '.tablesummary' ) . DataTable ({
info : false ,
searching : false ,
ordering : false ,
" paging " : false ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
});
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-09-20 09:02:29 +00:00
function displayCqContacts ( cqzone , band ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/awards/cq_details_ajax' ,
type : 'post' ,
data : { 'CQZone' : cqzone ,
'Band' : band
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-cq-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
2020-09-22 19:08:26 +00:00
</ script >
< ? php } ?>
2020-09-20 09:02:29 +00:00
2020-09-22 19:08:26 +00:00
< ? php if ( $this -> uri -> segment ( 2 ) == " was " ) { ?>
< script >
2020-10-06 20:01:29 +00:00
$ ( '.tablewas' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
});
$ ( '.tablesummary' ) . DataTable ({
info : false ,
searching : false ,
ordering : false ,
" paging " : false ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-10-06 20:01:29 +00:00
});
2020-10-19 17:16:42 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-08-19 05:57:35 +00:00
function displayWasContacts ( was , band ) {
2020-08-24 18:16:06 +00:00
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/awards/was_details_ajax' ,
type : 'post' ,
data : { 'State' : was ,
'Band' : band
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
2020-09-18 10:17:41 +00:00
cssClass : 'qso-was-dialog' ,
2020-08-24 18:16:06 +00:00
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
2020-08-19 05:57:35 +00:00
}
2020-09-22 19:08:26 +00:00
</ script >
< ? php } ?>
2020-09-20 09:02:29 +00:00
2020-09-22 19:08:26 +00:00
< script >
2020-08-24 18:16:06 +00:00
function qsl_rcvd ( id , method ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/qso/qsl_rcvd_ajax' ,
type : 'post' ,
data : { 'id' : id ,
'method' : method
},
success : function ( data ) {
if ( data . message == 'OK' ) {
$ ( " #qso_ " + id ) . find ( " td:eq(8) " ) . find ( " span:eq(1) " ) . attr ( 'class' , 'qsl-green' ); // Paints arrow green
$ ( " .qsl_ " + id ) . remove (); // removes choice from menu
}
else {
$ ( " .bootstrap-dialog-message " ) . append ( '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>You are not allowed to update QSL status!</div>' );
}
}
});
2020-08-19 05:57:35 +00:00
}
2020-08-24 18:16:06 +00:00
function qso_delete ( id , call ) {
BootstrapDialog . confirm ({
title : 'DANGER' ,
message : 'Warning! Are you sure you want delete QSO with ' + call + '?' ,
type : BootstrapDialog . TYPE_DANGER ,
closable : true ,
draggable : true ,
btnOKClass : 'btn-danger' ,
callback : function ( result ) {
if ( result ) {
2020-08-25 20:03:54 +00:00
$ ( " .edit-dialog " ) . modal ( 'hide' );
2020-10-03 21:19:09 +00:00
$ ( " .qso-dialog " ) . modal ( 'hide' );
2020-08-24 18:16:06 +00:00
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/qso/delete_ajax' ,
type : 'post' ,
data : { 'id' : id
},
success : function ( data ) {
2020-08-25 20:03:54 +00:00
$ ( " .alert " ) . remove ();
$ ( " .bootstrap-dialog-message " ) . prepend ( '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>The contact with ' + call + ' has been deleted!</div>' );
2020-08-24 18:16:06 +00:00
$ ( " #qso_ " + id ) . remove (); // removes qso from table in dialog
}
});
}
}
});
}
function qso_edit ( id ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/qso/edit_ajax' ,
type : 'post' ,
data : { 'id' : id
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
2020-08-25 20:03:54 +00:00
cssClass : 'edit-dialog' ,
2020-08-24 18:16:06 +00:00
size : BootstrapDialog . SIZE_WIDE ,
nl2br : false ,
message : html ,
2021-01-23 05:59:20 +00:00
onshown : function ( dialog ) {
2021-01-31 14:27:56 +00:00
var state = $ ( " #input_usa_state option:selected " ) . text ();
if ( state != " " ) {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , false );
selectize_usa_county ();
}
$ ( '#input_usa_state' ) . change ( function (){
var state = $ ( " #input_usa_state option:selected " ) . text ();
if ( state != " " ) {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , false );
selectize_usa_county ();
} else {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , true );
$ ( '#stationCntyInput' )[ 0 ] . selectize . destroy ();
$ ( " #stationCntyInput " ) . val ( " " );
}
});
2021-01-23 05:59:20 +00:00
$ ( '#sota_ref' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
if ( ! query || query . length < 3 ) return callback (); // Only trigger if 3 or more characters are entered
$ . ajax ({
url : baseURL + 'index.php/qso/get_sota' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
$ ( '#darc_dok' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
if ( ! query ) return callback (); // Only trigger if 3 or more characters are entered
$ . ajax ({
url : baseURL + 'index.php/qso/get_dok' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
},
2020-08-24 18:16:06 +00:00
});
}
2021-01-31 14:27:56 +00:00
});
}
function selectize_usa_county () {
var baseURL = " <?php echo base_url();?> " ;
$ ( '#stationCntyInput' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
var state = $ ( " #input_usa_state option:selected " ) . text ();
if ( ! query || state == " " ) return callback ();
$ . ajax ({
url : baseURL + 'index.php/qso/get_county' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
state : state ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
2020-08-24 18:16:06 +00:00
});
2020-08-19 05:57:35 +00:00
}
2020-08-25 20:03:54 +00:00
function qso_save () {
var baseURL = " <?php echo base_url();?> " ;
var myform = document . getElementById ( " qsoform " );
var fd = new FormData ( myform );
$ . ajax ({
url : baseURL + 'index.php/qso/qso_save_ajax' ,
data : fd ,
cache : false ,
processData : false ,
contentType : false ,
type : 'POST' ,
success : function ( dataofconfirm ) {
$ ( " .edit-dialog " ) . modal ( 'hide' );
$ ( " .qso-dialog " ) . modal ( 'hide' );
2020-11-30 19:39:25 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) != " search " && $this -> uri -> segment ( 2 ) != " filter " && $this -> uri -> segment ( 1 ) != " qso " ) { ?> location.reload();<?php } ?>
2020-11-19 16:17:34 +00:00
},
error : function ( xhr , status , error ) {
console . log ( xhr . responseText );
2020-08-25 20:03:54 +00:00
}
});
}
2020-08-19 05:57:35 +00:00
</ script >
2020-09-25 16:22:13 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " timeline " ) { ?>
< script >
2020-10-14 10:22:13 +00:00
$ ( '.timelinetable' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 500px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-10-14 10:22:13 +00:00
});
2020-10-19 17:16:42 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-10-23 10:25:16 +00:00
function displayTimelineContacts ( querystring , band , mode , type ) {
2020-09-25 16:22:13 +00:00
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/timeline/details' ,
type : 'post' ,
2020-10-23 10:25:16 +00:00
data : { 'Querystring' : querystring ,
'Band' : band ,
'Mode' : mode ,
'Type' : type
2020-09-25 16:22:13 +00:00
},
success : function ( html ) {
BootstrapDialog . show ({
title : 'QSO Data' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'qso-was-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
</ script >
< ? php } ?>
2020-10-09 16:29:41 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " mode " ) { ?>
< script >
2020-10-12 18:45:48 +00:00
$ ( '.modetable' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 500px " ,
" scrollCollapse " : true ,
" paging " : false ,
" scrollX " : true
});
2020-10-13 10:24:19 +00:00
function createModeDialog () {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/mode/create' ,
type : 'post' ,
success : function ( html ) {
BootstrapDialog . show ({
title : 'Create mode' ,
size : BootstrapDialog . SIZE_WIDE ,
cssClass : 'create-mode-dialog' ,
nl2br : false ,
message : html ,
buttons : [{
label : 'Close' ,
action : function ( dialogItself ) {
dialogItself . close ();
}
}]
});
}
});
}
function createMode ( form ) {
var baseURL = " <?php echo base_url();?> " ;
if ( form . mode . value != '' ) {
$ . ajax ({
url : baseURL + 'index.php/mode/create' ,
type : 'post' ,
data : { 'mode' : form . mode . value ,
'submode' : form . submode . value ,
'qrgmode' : form . qrgmode . value ,
'active' : form . active . value },
success : function ( html ) {
location . reload ();
}
});
}
}
2020-10-09 16:29:41 +00:00
function deactivateMode ( modeid ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/mode/deactivate' ,
type : 'post' ,
data : { 'id' : modeid },
success : function ( html ) {
$ ( " .mode_ " + modeid ) . text ( 'not active' );
$ ( '.btn_' + modeid ) . html ( 'Activate' );
$ ( '.btn_' + modeid ) . attr ( 'onclick' , 'activateMode(' + modeid + ')' )
}
});
}
function activateMode ( modeid ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/mode/activate' ,
type : 'post' ,
data : { 'id' : modeid },
success : function ( html ) {
$ ( '.mode_' + modeid ) . text ( 'active' );
$ ( '.btn_' + modeid ) . html ( 'Deactivate' );
$ ( '.btn_' + modeid ) . attr ( 'onclick' , 'deactivateMode(' + modeid + ')' )
}
});
}
2020-10-13 10:38:44 +00:00
function deleteMode ( id , mode ) {
BootstrapDialog . confirm ({
title : 'DANGER' ,
message : 'Warning! Are you sure you want to delete the following mode: ' + mode + '?' ,
type : BootstrapDialog . TYPE_DANGER ,
closable : true ,
draggable : true ,
btnOKClass : 'btn-danger' ,
callback : function ( result ) {
if ( result ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/mode/delete' ,
type : 'post' ,
data : { 'id' : id
},
success : function ( data ) {
$ ( " .mode_ " + id ) . parent ( " tr:first " ) . remove (); // removes mode from table
}
});
}
}
});
}
2020-10-09 16:29:41 +00:00
</ script >
< ? php } ?>
2020-10-06 19:12:14 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " accumulated " ) { ?>
2020-11-08 10:26:38 +00:00
< script src = " <?php echo base_url(); ?>assets/js/chart.js " ></ script >
2020-10-06 19:12:14 +00:00
< script >
function accumulatePlot ( form ) {
2020-10-08 10:14:15 +00:00
$ ( " .ld-ext-right " ) . addClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , true );
2020-10-06 19:12:14 +00:00
// using this to change color of legend and label according to background color
var background = $ ( 'body' ) . css ( " background-color " );
var color = 'grey' ;
if ( background != ( 'rgb(255, 255, 255)' )) {
color = 'white' ;
}
var baseURL = " <?php echo base_url();?> " ;
var award = form . awardradio . value ;
2020-10-08 09:45:41 +00:00
var mode = form . mode . value ;
var period = form . periodradio . value ;
2020-10-06 19:12:14 +00:00
$ . ajax ({
url : baseURL + 'index.php/accumulated/get_accumulated_data' ,
type : 'post' ,
2020-10-08 09:45:41 +00:00
data : { 'Band' : form . band . value , 'Award' : award , 'Mode' : mode , 'Period' : period },
2020-10-06 19:12:14 +00:00
success : function ( data ) {
// used for switching award text in the table and the chart
switch ( award ) {
case 'dxcc' : var awardtext = " DXCC \ 's " ; break ;
case 'was' : var awardtext = " states " ; break ;
case 'iota' : var awardtext = " IOTA \ 's " ; break ;
case 'waz' : var awardtext = " CQ zones " ; break ;
}
2020-10-08 09:45:41 +00:00
var periodtext = 'Year' ;
if ( period == 'month' ) {
periodtext += ' + month' ;
}
// removing the old chart so that it will not interfere when loading chart again
2020-10-06 19:12:14 +00:00
$ ( " #accumulateContainer " ) . empty ();
$ ( " #accumulateContainer " ) . append ( " <canvas id= \" myChartAccumulate \" width= \" 400 \" height= \" 150 \" ></canvas><div id= \" accumulateTable \" ></div> " );
// appending table to hold the data
2020-10-08 10:14:15 +00:00
$ ( " #accumulateTable " ) . append ( '<table style="width:100%" class="accutable table table-sm table-bordered table-hover table-striped table-condensed text-center"><thead>' +
2020-10-06 19:12:14 +00:00
'<tr>' +
'<td>#</td>' +
2020-10-08 09:45:41 +00:00
'<td>' + periodtext + '</td>' +
2020-10-06 19:12:14 +00:00
'<td>Accumulated # of ' + awardtext + ' worked </td>' +
'</tr>' +
'</thead>' +
'<tbody></tbody></table>' );
var labels = [];
var dataDxcc = [];
var $myTable = $ ( '.accutable' );
var i = 1 ;
// building the rows in the table
var rowElements = data . map ( function ( row ) {
var $row = $ ( '<tr></tr>' );
var $iterator = $ ( '<td></td>' ) . html ( i ++ );
var $type = $ ( '<td></td>' ) . html ( row . year );
var $content = $ ( '<td></td>' ) . html ( row . total );
$row . append ( $iterator , $type , $content );
return $row ;
});
// finally inserting the rows
$myTable . append ( rowElements );
$ . each ( data , function (){
labels . push ( this . year );
dataDxcc . push ( this . total );
});
var ctx = document . getElementById ( " myChartAccumulate " ) . getContext ( '2d' );
var myChart = new Chart ( ctx , {
type : 'bar' ,
data : {
labels : labels ,
datasets : [{
2020-10-08 09:45:41 +00:00
label : 'Accumulated number of ' + awardtext + ' worked each ' + period ,
2020-10-06 19:12:14 +00:00
data : dataDxcc ,
backgroundColor : 'rgba(54, 162, 235, 0.2)' ,
borderColor : 'rgba(54, 162, 235, 1)' ,
borderWidth : 2 ,
}]
},
options : {
scales : {
yAxes : [{
ticks : {
beginAtZero : true ,
fontColor : color
}
}],
xAxes : [{
ticks : {
fontColor : color
}
}]
},
legend : {
labels : {
fontColor : color ,
}
},
}
});
2020-10-08 10:14:15 +00:00
$ ( " .ld-ext-right " ) . removeClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , false );
$ ( '.accutable' ) . DataTable ({
responsive : false ,
ordering : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
2020-10-19 17:16:42 +00:00
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
2020-10-08 10:14:15 +00:00
});
2020-10-19 17:16:42 +00:00
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
2020-10-06 19:12:14 +00:00
}
});
}
</ script >
< ? php } ?>
2020-09-18 10:17:41 +00:00
2020-10-17 22:00:01 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " timeplotter " ) { ?>
2020-11-08 10:26:38 +00:00
< script src = " <?php echo base_url(); ?>assets/js/highstock.js " ></ script >
2020-12-02 13:49:14 +00:00
< script src = " <?php echo base_url(); ?>assets/js/highstock/exporting.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/highstock/offline-exporting.js " ></ script >
< script src = " <?php echo base_url(); ?>assets/js/highstock/export-data.js " ></ script >
2020-10-17 22:00:01 +00:00
< script >
function timeplot ( form ) {
$ ( " .ld-ext-right " ) . addClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , true );
$ ( " .alert " ) . remove ();
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/timeplotter/getTimes' ,
type : 'post' ,
data : { 'band' : form . band . value , 'dxcc' : form . dxcc . value , 'cqzone' : form . cqzone . value },
success : function ( tmp ) {
$ ( " .ld-ext-right " ) . removeClass ( 'running' );
$ ( " .ld-ext-right " ) . prop ( 'disabled' , false );
if ( tmp . ok == 'OK' ) {
plotTimeplotterChart ( tmp );
}
else {
$ ( " #container " ) . remove ();
$ ( " #info " ) . remove ();
$ ( " #timeplotter_div " ) . append ( '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>\n' +
tmp . error +
'</div>' );
}
}
});
}
function plotTimeplotterChart ( tmp ) {
$ ( " #container " ) . remove ();
$ ( " #info " ) . remove ();
$ ( " #timeplotter_div " ) . append ( '<p id="info">' + tmp . qsocount + ' contacts were plotted.</p><div id="container" style="height: 600px;"></div>' );
var options = {
chart : {
type : 'column' ,
zoomType : 'xy' ,
renderTo : 'container'
},
title : {
2020-12-22 09:33:08 +00:00
text : 'Time Distribution'
2020-10-17 22:00:01 +00:00
},
xAxis : {
categories : [],
crosshair : true ,
type : " category " ,
min : 0 ,
max : 47 ,
},
yAxis : {
title : {
2020-10-28 18:03:30 +00:00
text : '# QSOs'
2020-10-17 22:00:01 +00:00
}
},
rangeSelector : {
selected : 1
},
tooltip : {
formatter : function () {
if ( this . point ) {
return " Time: " + options . xAxis . categories [ this . point . x ] +
" <br />Callsign(s) worked (max 5): " + myComments [ this . point . x ] +
2020-10-28 18:03:30 +00:00
" <br />Number of QSOs: <strong> " + series . data [ this . point . x ] + " </strong> " ;
2020-10-17 22:00:01 +00:00
}
}
},
series : []
};
var myComments = [];
var series = {
data : []
};
$ . each ( tmp . qsodata , function (){
myComments . push ( this . calls );
options . xAxis . categories . push ( this . time );
2020-10-28 18:03:30 +00:00
series . name = 'Number of QSOs' ;
2020-10-17 22:00:01 +00:00
series . data . push ( this . count );
});
options . series . push ( series );
var chart = new Highcharts . Chart ( options );
}
</ script >
< ? php } ?>
2020-10-28 22:20:03 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " qsl " ) { ?>
< script >
$ ( '.qsltable' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 500px " ,
" scrollCollapse " : true ,
" paging " : false ,
" scrollX " : true
});
2020-11-01 20:45:47 +00:00
</ script >
< ? php } ?>
2020-10-28 22:20:03 +00:00
2020-12-06 12:21:35 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " kml " ) { ?>
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/moment.min.js " ></ script >
< script type = " text/javascript " src = " <?php echo base_url(); ?>assets/js/tempusdominus-bootstrap-4.min.js " ></ script >
< script type = " text/javascript " >
$ ( function () {
$ ( '#datetimepicker1' ) . datetimepicker ({
format : 'DD/MM/YYYY' ,
});
});
$ ( function () {
$ ( '#datetimepicker2' ) . datetimepicker ({
format : 'DD/MM/YYYY' ,
});
});
</ script >
< ? php } ?>
2020-11-01 20:45:47 +00:00
< script >
function viewQsl ( picture , callsign ) {
2020-10-28 22:20:03 +00:00
var baseURL = " <?php echo base_url();?> " ;
var $textAndPic = $ ( '<div></div>' );
$textAndPic . append ( '<img class="img-fluid" style="height:auto;width:auto;"src="' + baseURL + '/assets/qslcard/' + picture + '" />' );
2020-11-01 20:45:47 +00:00
var title = '' ;
if ( callsign == null ) {
title = 'QSL Card' ;
} else {
title = 'QSL Card for ' + callsign ;
}
2020-10-28 22:20:03 +00:00
BootstrapDialog . show ({
2020-11-01 20:45:47 +00:00
title : title ,
2020-10-28 22:20:03 +00:00
size : BootstrapDialog . SIZE_WIDE ,
message : $textAndPic ,
buttons : [{
label : 'Close' ,
action : function ( dialogRef ){
dialogRef . close ();
}
}]
});
}
2020-11-01 20:45:47 +00:00
</ script >
2020-10-28 22:20:03 +00:00
< script >
function deleteQsl ( id ) {
BootstrapDialog . confirm ({
title : 'DANGER' ,
message : 'Warning! Are you sure you want to delete this QSL card?' ,
type : BootstrapDialog . TYPE_DANGER ,
closable : true ,
draggable : true ,
btnOKClass : 'btn-danger' ,
callback : function ( result ) {
if ( result ) {
var baseURL = " <?php echo base_url();?> " ;
$ . ajax ({
url : baseURL + 'index.php/qsl/delete' ,
type : 'post' ,
data : { 'id' : id
},
success : function ( data ) {
2020-11-01 11:36:02 +00:00
$ ( " # " + id ) . parent ( " tr:first " ) . remove (); // removes qsl from table
// remove qsl from carousel
$ ( " .carousel-indicators li:last-child " ) . remove ();
$ ( " .carouselimageid_ " + id ) . remove ();
$ ( '#carouselExampleIndicators' ) . find ( '.carousel-item' ) . first () . addClass ( 'active' );
// remove table and hide tab if all qsls are deleted
if ( $ ( '.qsltable tr' ) . length == 1 ) {
$ ( '.qsltable' ) . remove ();
$ ( '.qslcardtab' ) . attr ( 'hidden' , '' );
}
2020-10-28 22:20:03 +00:00
}
});
}
}
});
}
</ script >
2020-11-01 11:36:02 +00:00
< script >
function uploadQsl () {
var baseURL = " <?php echo base_url();?> " ;
var formdata = new FormData ( document . getElementById ( " fileinfo " ));
$ . ajax ({
url : baseURL + 'index.php/qsl/uploadqsl' ,
type : 'post' ,
data : formdata ,
enctype : 'multipart/form-data' ,
processData : false ,
contentType : false ,
success : function ( data ) {
if ( data . status . front . status == 'Success' ) {
if ( $ ( '.qsltable' ) . length > 0 ) {
$ ( '.qsltable tr:last' ) . after ( '<tr><td style="text-align: center">' + data . status . front . filename + '</td>' +
2020-11-01 20:45:47 +00:00
'<td id="' + data . status . front . insertid + '"style="text-align: center"><button onclick="deleteQsl(' + data . status . front . insertid + ');" class="btn btn-sm btn-danger">Delete</button></td>' +
'<td style="text-align: center"><button onclick="viewQsl(\'' + data . status . front . filename + '\')" class="btn btn-sm btn-success">View</button></td>' +
'</tr>' );
2020-11-01 11:36:02 +00:00
var quantity = $ ( " .carousel-indicators li " ) . length ;
$ ( " .carousel-indicators " ) . append ( '<li data-target="#carouselExampleIndicators" data-slide-to="' + quantity + '"></li>' );
$ ( " .carousel-inner " ) . append ( '<div class="carousel-item carouselimageid_' + data . status . front . insertid + '"><img class="d-block w-100" src="' + baseURL + '/assets/qslcard/' + data . status . front . filename + '" alt="QSL picture #' + ( quantity + 1 ) + '"></div>' );
$ ( " #qslcardfront " ) . val ( null );
}
else {
$ ( " #qslupload " ) . prepend ( '<table style="width:100%" class="qsltable table table-sm table-bordered table-hover table-striped table-condensed">' +
'<thead>' +
'<tr>' +
'<th style="text-align: center">QSL image file</th>' +
'<th style="text-align: center"></th>' +
2020-11-01 20:45:47 +00:00
'<th style="text-align: center"></th>' +
2020-11-01 11:36:02 +00:00
'</tr>' +
'</thead><tbody>' +
'<tr><td style="text-align: center">' + data . status . front . filename + '</td>' +
'<td id="' + data . status . front . insertid + '"style="text-align: center"><button onclick="deleteQsl(' + data . status . front . insertid + ');" class="btn btn-sm btn-danger">Delete</button></td>' +
2020-11-01 20:45:47 +00:00
'<td style="text-align: center"><button onclick="viewQsl(\'' + data . status . front . filename + '\')" class="btn btn-sm btn-success">View</button></td>' +
2020-11-01 11:36:02 +00:00
'</tr>' +
'</tbody></table>' );
$ ( '.qslcardtab' ) . removeAttr ( 'hidden' );
var quantity = $ ( " .carousel-indicators li " ) . length ;
$ ( " .carousel-indicators " ) . append ( '<li class="active" data-target="#carouselExampleIndicators" data-slide-to="' + quantity + '"></li>' );
$ ( " .carousel-inner " ) . append ( '<div class="active carousel-item carouselimageid_' + data . status . front . insertid + '"><img class="d-block w-100" src="' + baseURL + '/assets/qslcard/' + data . status . front . filename + '" alt="QSL picture #' + ( quantity + 1 ) + '"></div>' );
$ ( " .carouselExampleIndicators " ) . carousel ();
$ ( " #qslcardfront " ) . val ( null );
}
} else {
$ ( " #qslupload " ) . append ( '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>\n' +
data . status . front +
'</div>' );
}
if ( data . status . back . status == 'Success' ) {
var qsoid = $ ( " #qsoid " ) . text ();
if ( $ ( '.qsltable' ) . length > 0 ) {
$ ( '.qsltable tr:last' ) . after ( '<tr><td style="text-align: center">' + data . status . back . filename + '</td>' +
2020-11-01 20:45:47 +00:00
'<td id="' + data . status . back . insertid + '"style="text-align: center"><button onclick="deleteQsl(' + data . status . back . insertid + ');" class="btn btn-sm btn-danger">Delete</button></td>' +
'<td style="text-align: center"><button onclick="viewQsl(\'' + data . status . back . filename + '\')" class="btn btn-sm btn-success">View</button></td>' +
'</tr>' );
2020-11-01 11:36:02 +00:00
var quantity = $ ( " .carousel-indicators li " ) . length ;
$ ( " .carousel-indicators " ) . append ( '<li data-target="#carouselExampleIndicators" data-slide-to="' + quantity + '"></li>' );
$ ( " .carousel-inner " ) . append ( '<div class="carousel-item carouselimageid_' + data . status . back . insertid + '"><img class="d-block w-100" src="' + baseURL + '/assets/qslcard/' + data . status . back . filename + '" alt="QSL picture #' + ( quantity + 1 ) + '"></div>' );
$ ( " #qslcardback " ) . val ( null );
}
else {
$ ( " #qslupload " ) . prepend ( '<table style="width:100%" class="qsltable table table-sm table-bordered table-hover table-striped table-condensed">' +
'<thead>' +
'<tr>' +
'<th style="text-align: center">QSL image file</th>' +
'<th style="text-align: center"></th>' +
2020-11-01 20:45:47 +00:00
'<th style="text-align: center"></th>' +
2020-11-01 11:36:02 +00:00
'</tr>' +
'</thead><tbody>' +
'<tr><td style="text-align: center">' + data . status . back . filename + '</td>' +
'<td id="' + data . status . back . insertid + '"style="text-align: center"><button onclick="deleteQsl(' + data . status . back . insertid + ');" class="btn btn-sm btn-danger">Delete</button></td>' +
2020-11-01 20:45:47 +00:00
'<td><button onclick="viewQsl(\'' + data . status . back . filename + '\')" class="btn btn-sm btn-success">View</button></td>' +
2020-11-01 11:36:02 +00:00
'</tr>' +
'</tbody></table>' );
$ ( '.qslcardtab' ) . removeAttr ( 'hidden' );
var quantity = $ ( " .carousel-indicators li " ) . length ;
$ ( " .carousel-indicators " ) . append ( '<li class="active" data-target="#carouselExampleIndicators" data-slide-to="' + quantity + '"></li>' );
$ ( " .carousel-inner " ) . append ( '<div class="active carousel-item carouselimageid_' + data . status . back . insertid + '"><img class="d-block w-100" src="' + baseURL + '/assets/qslcard/' + data . status . back . filename + '" alt="QSL picture #' + ( quantity + 1 ) + '"></div>' );
$ ( " .carouselExampleIndicators " ) . carousel ();
$ ( " #qslcardback " ) . val ( null );
}
} else {
$ ( " #qslupload " ) . append ( '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>\n' +
data . status . back +
'</div>' );
}
}
});
}
</ script >
2020-11-16 18:20:45 +00:00
< ? php if ( $this -> uri -> segment ( 1 ) == " contesting " ) { ?>
2020-12-07 20:26:16 +00:00
< script src = " <?php echo base_url() ;?>assets/js/sections/contesting.js " ></ script >
2020-11-16 18:20:45 +00:00
< script >
2020-12-07 20:26:16 +00:00
function logQso () {
if ( $ ( " #callsign " ) . val () . length > 0 ) {
$ ( '.callsign-suggestions' ) . text ( " " );
2020-12-28 18:55:51 +00:00
var table = $ ( '.qsotable' ) . DataTable ();
var data = [[ $ ( " #start_date " ) . val () + ' ' + $ ( " #start_time " ) . val (),
$ ( " #callsign " ) . val () . toUpperCase (),
$ ( " #band " ) . val (),
$ ( " #mode " ) . val (),
$ ( " #rst_sent " ) . val (),
$ ( " #rst_recv " ) . val (),
$ ( " #exch_sent " ) . val (),
$ ( " #exch_recv " ) . val ()]];
table . rows . add ( data ) . draw ();
2020-11-16 18:20:45 +00:00
2020-12-07 20:26:16 +00:00
var baseURL = " <?php echo base_url();?> " ;
var formdata = new FormData ( document . getElementById ( " qso_input " ));
$ . ajax ({
url : baseURL + 'index.php/qso/saveqso' ,
type : 'post' ,
data : formdata ,
processData : false ,
contentType : false ,
enctype : 'multipart/form-data' ,
success : function ( html ) {
2020-12-28 18:55:51 +00:00
if ( localStorage . getItem ( " qso " ) == null ) {
localStorage . setItem ( " qso " , $ ( " #start_date " ) . val () + ' ' + $ ( " #start_time " ) . val () + ',' + $ ( " #callsign " ) . val () . toUpperCase () + ',' + $ ( " #contestname " ) . val ());
}
2020-12-07 20:26:16 +00:00
$ ( '#name' ) . val ( " " );
$ ( '#callsign' ) . val ( " " );
$ ( '#comment' ) . val ( " " );
$ ( '#exch_recv' ) . val ( " " );
if ( $ ( 'input[name=exchangeradio]:checked' , '#qso_input' ) . val () == " serial " ) {
$ ( " #exch_sent " ) . val ( + $ ( " #exch_sent " ) . val () + 1 );
}
$ ( " #callsign " ) . focus ();
2020-12-27 08:37:48 +00:00
// Store contest session
localStorage . setItem ( " contestid " , $ ( " #contestname " ) . val ());
localStorage . setItem ( " exchangetype " , $ ( 'input[name=exchangeradio]:checked' , '#qso_input' ) . val ());
localStorage . setItem ( " exchangesent " , $ ( " #exch_sent " ) . val ());
2020-11-17 08:47:57 +00:00
}
2020-12-07 20:26:16 +00:00
});
2020-11-16 18:20:45 +00:00
}
2020-12-07 20:26:16 +00:00
}
2020-12-28 18:55:51 +00:00
// We are restoring the settings in the contest logging form here
function restoreContestSession () {
var contestname = localStorage . getItem ( " contestid " );
if ( contestname != null ) {
$ ( " #contestname " ) . val ( contestname );
}
var exchangetype = localStorage . getItem ( " exchangetype " );
if ( exchangetype == " other " ) {
$ ( " [name=exchangeradio] " ) . val ([ " other " ]);
}
var exchangesent = localStorage . getItem ( " exchangesent " );
if ( exchangesent != null ) {
$ ( " #exch_sent " ) . val ( exchangesent );
}
if ( localStorage . getItem ( " qso " ) != null ) {
var baseURL = " <?php echo base_url();?> " ;
//alert(localStorage.getItem("qso"));
var qsodata = localStorage . getItem ( " qso " );
$ . ajax ({
url : baseURL + 'index.php/contesting/getSessionQsos' ,
type : 'post' ,
data : { 'qso' : qsodata ,},
success : function ( html ) {
var mode = '' ;
var sentexchange = '' ;
var receivedexchange = '' ;
$ . each ( html , function (){
if ( this . col_submode == null || this . col_submode == '' ) {
mode = this . col_mode ;
} else {
mode = this . col_submode ;
}
if ( this . col_srx == null || this . col_srx == '' ) {
receivedexchange = this . col_srx_string ;
} else {
receivedexchange = this . col_srx ;
}
if ( this . col_stx == null || this . col_stx == '' ) {
sentexchange = this . col_stx_string ;
} else {
sentexchange = this . col_stx ;
}
$ ( " .qsotable tbody " ) . prepend ( '<tr>' +
'<td>' + this . col_time_on + '</td>' +
'<td>' + this . col_call + '</td>' +
'<td>' + this . col_band + '</td>' +
'<td>' + mode + '</td>' +
'<td>' + this . col_rst_sent + '</td>' +
'<td>' + this . col_rst_rcvd + '</td>' +
'<td>' + sentexchange + '</td>' +
'<td>' + receivedexchange + '</td>' +
'</tr>' );
});
$ ( '.qsotable' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
" scrollY " : " 400px " ,
" scrollCollapse " : true ,
" paging " : false ,
" scrollX " : true ,
" order " : [[ 0 , " desc " ]]
});
}
});
}
}
2020-11-16 18:20:45 +00:00
</ script >
2020-12-07 20:26:16 +00:00
2021-01-24 14:29:29 +00:00
< ? php } ?>
< ? php if ( $this -> uri -> segment ( 1 ) == " station " ) { ?>
< script >
var baseURL = " <?php echo base_url();?> " ;
$ ( '#StateHelp' ) . change ( function (){
var state = $ ( " #StateHelp option:selected " ) . text ();
if ( state != " " ) {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , false );
$ ( '#stationCntyInput' ) . selectize ({
maxItems : 1 ,
closeAfterSelect : true ,
loadThrottle : 250 ,
valueField : 'name' ,
labelField : 'name' ,
searchField : 'name' ,
options : [],
create : false ,
load : function ( query , callback ) {
var state = $ ( " #StateHelp option:selected " ) . text ();
if ( ! query || state == " " ) return callback ();
$ . ajax ({
url : baseURL + 'index.php/station/get_county' ,
type : 'GET' ,
dataType : 'json' ,
data : {
query : query ,
state : state ,
},
error : function () {
callback ();
},
success : function ( res ) {
callback ( res );
}
});
}
});
} else {
$ ( " #stationCntyInput " ) . prop ( 'disabled' , true );
$ ( '#stationCntyInput' )[ 0 ] . selectize . destroy ();
$ ( " #stationCntyInput " ) . val ( " " );
}
});
</ script >
2021-02-06 23:03:05 +00:00
< ? php } ?>
< ? php if ( $this -> uri -> segment ( 2 ) == " counties " ) { ?>
< script >
$ ( '.countiestable' ) . DataTable ({
" pageLength " : 25 ,
responsive : false ,
ordering : false ,
" scrollY " : " 390px " ,
" scrollCollapse " : true ,
" paging " : false ,
" scrollX " : true ,
dom : 'Bfrtip' ,
buttons : [
'csv'
]
});
// using this to change color of csv-button if dark mode is chosen
var background = $ ( 'body' ) . css ( " background-color " );
if ( background != ( 'rgb(255, 255, 255)' )) {
$ ( " .buttons-csv " ) . css ( " color " , " white " );
}
</ script >
2020-11-16 18:20:45 +00:00
< ? php } ?>
2019-01-09 15:18:46 +00:00
</ body >
2019-06-17 19:21:58 +00:00
</ html >