Introduce new (internal) function for updating UI

pull/2876/head
DJ3CE 2023-12-21 09:22:56 +01:00
rodzic 3b48befcc8
commit b0515881cd
1 zmienionych plików z 25 dodań i 25 usunięć

Wyświetl plik

@ -1373,6 +1373,23 @@ $(document).on('keypress',function(e) {
<script>
// Javascript for controlling rig frequency.
var updateFromCAT = function() {
var cat2UI = function(ui, cat, allow_empty, allow_zero, callback_on_update) {
// Check, if cat-data is available
if(cat == null) {
return;
} else if (typeof allow_empty !== 'undefined' && !allow_empty && cat == '') {
return;
} else if (typeof allow_zero !== 'undefined' && !allow_zero && cat == '0' ) {
return;
}
// Only update the ui-element, if cat-data has changed
if (ui.data('catValue') != cat) {
ui.val(cat);
ui.data('catValue',cat);
if (typeof callback_on_update === 'function') { callback_on_update(cat); }
}
}
if($('select.radios option:selected').val() != '0') {
radioID = $('select.radios option:selected').val();
$.getJSON( "radio/json/" + radioID, function( data ) {
@ -1398,31 +1415,14 @@ $(document).on('keypress',function(e) {
if($('.radio_login_error').length != 0) {
$(".radio_login_error" ).remove();
}
$('#frequency').val(data.frequency);
$("#band").val(frequencyToBand(data.frequency));
if (data.frequency_rx != "") {
$('#frequency_rx').val(data.frequency_rx);
$("#band_rx").val(frequencyToBand(data.frequency_rx));
}
if ((data.mode != "") && (data.mode != null)) {
old_mode = $(".mode").val();
$(".mode").val(data.mode);
} else {
old_mode = $(".mode").val();
}
if (old_mode !== $(".mode").val()) {
// Update RST on mode change via CAT
setRst($(".mode").val());
}
$("#sat_name").val(data.satname);
$("#sat_mode").val(data.satmode);
if(data.power != null && data.power != 0) {
$("#transmit_power").val(data.power);
}
$("#selectPropagation").val(data.prop_mode);
cat2UI($('#frequency'),data.frequency,false,true,function(d){$("#band").val(frequencyToBand(d))});
cat2UI($('#frequency_rx'),data.frequency_rx,false,true,function(d){$("#band_rx").val(frequencyToBand(d))});
cat2UI($('.mode'),data.mode,false,false,function(d){setRst($(".mode").val())});
cat2UI($('#sat_name'),data.satname,false,false);
cat2UI($('#sat_mode'),data.satmode,false,false);
cat2UI($('#transmit_power'),data.power,false,false);
cat2UI($('#selectPropagation'),data.prop_mode,false,false);
// Display CAT Timeout warning based on the figure given in the config file
var minutes = Math.floor(<?php echo $this->optionslib->get_option('cat_timeout_interval'); ?> / 60);