267 行
无行尾
10 KiB
JavaScript
267 行
无行尾
10 KiB
JavaScript
function loadStationInfo() {
|
|
$(".stationinfo").empty();
|
|
$(".searchinfo").empty();
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/get_station_info',
|
|
type: 'post',
|
|
data: {'station_id': $("#station").val()},
|
|
success: function (data) {
|
|
if (data.count > 0) {
|
|
$(".stationinfo").append('<br />' + data.count + ' Qsos logged between ' + data.mindate + ' and ' + data.maxdate + '.<br /><br />');
|
|
$(".stationinfo").append('<form class="form-inline" onsubmit="return false;"><label class="my-1 mr-2" for="oqrssearch">Enter your callsign: </label><input class="form-control mr-sm-2" id="oqrssearch" type="search" name="callsign" placeholder="Search Callsign" aria-label="Search"><button onclick="searchOqrs();" class="btn btn-sm btn-primary" id="stationbuttonsubmit" type="button"><i class="fas fa-search"></i> Search</button></form>');
|
|
// Get the input field
|
|
var input = document.getElementById("oqrssearch");
|
|
|
|
// Execute a function when the user presses a key on the keyboard
|
|
input.addEventListener("keypress", function(event) {
|
|
// If the user presses the "Enter" key on the keyboard
|
|
if (event.key === "Enter") {
|
|
// Cancel the default action, if needed
|
|
event.preventDefault();
|
|
// Trigger the button element with a click
|
|
document.getElementById("stationbuttonsubmit").click();
|
|
}
|
|
});
|
|
} else {
|
|
$(".stationinfo").append("No QSOs for this callsign was found!");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function searchOqrs() {
|
|
$(".searchinfo").empty();
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/get_qsos',
|
|
type: 'post',
|
|
data: {'station_id': $("#station").val(), 'callsign': $("#oqrssearch").val()},
|
|
success: function (data) {
|
|
$(".searchinfo").append(data);
|
|
}
|
|
});
|
|
}
|
|
|
|
function notInLog() {
|
|
$.ajax({
|
|
url: base_url + 'index.php/oqrs/not_in_log',
|
|
type: 'post',
|
|
data: {'station_id': $("#station").val(), 'callsign': $("#oqrssearch").val()},
|
|
success: function(html) {
|
|
$(".searchinfo").html(html);
|
|
}
|
|
});
|
|
}
|
|
|
|
function saveNotInLogRequest() {
|
|
$(".alertinfo").remove();
|
|
if ($("#emailInput").val() == '') {
|
|
$(".searchinfo").prepend('<div class="alertinfo"><br /><div class="alert alert-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>You need to fill out an email address!</div></div>');
|
|
} else {
|
|
const qsos = [];
|
|
$(".notinlog-table tbody tr").each(function(i) {
|
|
var data = [];
|
|
var datecell = $("#date", this).val();
|
|
var timecell = $("#time", this).val();
|
|
var bandcell = $("#band", this).val();
|
|
var modecell = $("#mode", this).val();
|
|
if (datecell != "" && timecell != "" && bandcell != "" && modecell != "") {
|
|
data.push(datecell);
|
|
data.push(timecell);
|
|
data.push(bandcell);
|
|
data.push(modecell);
|
|
qsos.push(data);
|
|
}
|
|
});
|
|
if (qsos.length === 0) {
|
|
$(".searchinfo").prepend('<div class="alertinfo"><br /><div class="alert alert-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>You need to fill the QSO information before submitting a request!</div></div>');
|
|
} else {
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/save_not_in_log',
|
|
type: 'post',
|
|
data: { 'station_id': $("#station").val(),
|
|
'callsign': $("#oqrssearch").val(),
|
|
'email': $("#emailInput").val(),
|
|
'message': $("#messageInput").val(),
|
|
'qsos': qsos
|
|
},
|
|
success: function (data) {
|
|
$(".stationinfo").empty();
|
|
$(".searchinfo").empty();
|
|
$(".stationinfo").append('<br /><div class="alert alert-success"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>Your not in log query has been saved!</div>');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function oqrsAddLine() {
|
|
var rowCount = $('.notinlog-table tr').length;
|
|
var $myTable = $('.notinlog-table');
|
|
|
|
var $row = $('<tr></tr>');
|
|
|
|
var $iterator = $('<td></td>').html(rowCount);
|
|
var $date = $('<td></td>').html('<input class="form-control" type="date" name="date" value="" id="date" placeholder="YYYY-MM-DD">');
|
|
var $time = $('<td></td>').html('<input class="form-control" type="text" name="time" value="" id="time" maxlength="5" placeholder="HH:MM">');
|
|
var $band = $('<td></td>').html('<input class="form-control" type="text" name="band" value="" id="band">');
|
|
var $mode = $('<td></td>').html('<input class="form-control" type="text" name="mode" value="" id="mode">');
|
|
|
|
$row.append($iterator, $date, $time, $band, $mode);
|
|
|
|
$myTable.append($row);
|
|
}
|
|
|
|
function requestOqrs() {
|
|
$.ajax({
|
|
url: base_url + 'index.php/oqrs/request_form',
|
|
type: 'post',
|
|
data: {'station_id': $("#station").val(), 'callsign': $("#oqrssearch").val()},
|
|
success: function(html) {
|
|
$(".searchinfo").html(html);
|
|
$('.result-table').DataTable({
|
|
"pageLength": 25,
|
|
responsive: false,
|
|
ordering: false,
|
|
"scrollY": "410px",
|
|
"scrollCollapse": true,
|
|
"paging": false,
|
|
"scrollX": true,
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function submitOqrsRequest() {
|
|
$(".alertinfo").remove();
|
|
if ($("#emailInput").val() == '') {
|
|
$(".searchinfo").prepend('<div class="alertinfo"><br /><div class="alert alert-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>You need to fill out an email address!</div></div>');
|
|
} else {
|
|
const qsos = [];
|
|
$(".result-table tbody tr").each(function(i) {
|
|
var data = [];
|
|
var datecell = $("#date", this).val();
|
|
var timecell = $("#time", this).val();
|
|
var bandcell = $("#band", this).text();
|
|
var modecell = $("#mode", this).text();
|
|
if (datecell != "" && timecell != "") {
|
|
data.push(datecell);
|
|
data.push(timecell);
|
|
data.push(bandcell);
|
|
data.push(modecell);
|
|
qsos.push(data);
|
|
}
|
|
});
|
|
|
|
if (qsos.length === 0) {
|
|
$(".searchinfo").prepend('<div class="alertinfo"><br /><div class="alert alert-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>You need to fill the QSO information before submitting a request!</div></div>');
|
|
} else {
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/save_oqrs_request',
|
|
type: 'post',
|
|
data: { 'station_id': $("#station").val(),
|
|
'callsign': $("#oqrssearch").val(),
|
|
'email': $("#emailInput").val(),
|
|
'message': $("#messageInput").val(),
|
|
'qsos': qsos,
|
|
'qslroute': $('input[name="qslroute"]:checked').val()
|
|
},
|
|
success: function (data) {
|
|
$(".stationinfo").empty();
|
|
$(".searchinfo").empty();
|
|
$(".stationinfo").append('<br /><div class="alert alert-success"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>Your QSL request has been saved!</div>');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function deleteOqrsLine(id) {
|
|
BootstrapDialog.confirm({
|
|
title: 'DANGER',
|
|
message: 'Warning! Are you sure you want to delete this OQRS request?',
|
|
type: BootstrapDialog.TYPE_DANGER,
|
|
closable: true,
|
|
draggable: true,
|
|
btnOKClass: 'btn-danger',
|
|
callback: function (result) {
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/delete_oqrs_line',
|
|
type: 'post',
|
|
data: { 'id': id,
|
|
},
|
|
success: function (data) {
|
|
$(".oqrsid_"+id).remove();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function searchLog(callsign) {
|
|
$.ajax({
|
|
url: base_url + 'index.php/oqrs/search_log',
|
|
type: 'post',
|
|
data: {'callsign': callsign,
|
|
},
|
|
success: function(html) {
|
|
BootstrapDialog.show({
|
|
title: 'QSO List',
|
|
size: BootstrapDialog.SIZE_WIDE,
|
|
cssClass: 'qso-dialog',
|
|
nl2br: false,
|
|
message: html,
|
|
onshown: function(dialog) {
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
},
|
|
buttons: [{
|
|
label: 'Close',
|
|
action: function (dialogItself) {
|
|
dialogItself.close();
|
|
}
|
|
}]
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function searchLogTimeDate(id) {
|
|
$.ajax({
|
|
url: base_url + 'index.php/oqrs/search_log_time_date',
|
|
type: 'post',
|
|
data: {'time': $('.oqrsid_'+id+ ' td:nth-child(2)').text(),
|
|
'date': $('.oqrsid_'+id+ ' td:nth-child(1)').text(),
|
|
'band': $('.oqrsid_'+id+ ' td:nth-child(3)').text(),
|
|
'mode': $('.oqrsid_'+id+ ' td:nth-child(4)').text()
|
|
},
|
|
success: function(html) {
|
|
BootstrapDialog.show({
|
|
title: 'QSO List',
|
|
size: BootstrapDialog.SIZE_WIDE,
|
|
cssClass: 'qso-dialog',
|
|
nl2br: false,
|
|
message: html,
|
|
onshown: function(dialog) {
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
},
|
|
buttons: [{
|
|
label: 'Close',
|
|
action: function (dialogItself) {
|
|
dialogItself.close();
|
|
}
|
|
}]
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function markOqrsLineAsDone(id) {
|
|
$.ajax({
|
|
url: base_url+'index.php/oqrs/mark_oqrs_line_as_done',
|
|
type: 'post',
|
|
data: { 'id': id,
|
|
},
|
|
success: function (data) {
|
|
$(".oqrsid_"+id).remove();
|
|
}
|
|
});
|
|
} |