kopia lustrzana https://github.com/magicbug/Cloudlog
Reduce calling scp, cache result
rodzic
40dc26c120
commit
15e2e10528
|
@ -106,7 +106,7 @@ class Lookup extends CI_Controller {
|
||||||
|
|
||||||
foreach ($arCalls as $strCall)
|
foreach ($arCalls as $strCall)
|
||||||
{
|
{
|
||||||
echo " " . $strCall . " ";
|
echo $strCall . " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,12 @@ $(document).ready(async function () {
|
||||||
setRst($("#mode").val());
|
setRst($("#mode").val());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var scp_data = {
|
||||||
|
request: "",
|
||||||
|
status: -1 , // -1 - never req, 0 - req in progress, 1 - request done
|
||||||
|
data: [],
|
||||||
|
};
|
||||||
|
|
||||||
// Resets the logging form and deletes session from database
|
// Resets the logging form and deletes session from database
|
||||||
function reset_contest_session() {
|
function reset_contest_session() {
|
||||||
$('#name').val("");
|
$('#name').val("");
|
||||||
|
@ -208,20 +214,35 @@ $('#start_date').change(function () {
|
||||||
|
|
||||||
// On Key up check and suggest callsigns
|
// On Key up check and suggest callsigns
|
||||||
$("#callsign").keyup(function () {
|
$("#callsign").keyup(function () {
|
||||||
var call = $(this).val();
|
var call = $(this).val().toUpperCase();
|
||||||
if (call.length >= 3) {
|
if (call.length >= 3) {
|
||||||
|
|
||||||
$.ajax({
|
if (scp_data.status < 0 || scp_data.request != call.substr(0, scp_data.request.length)) {
|
||||||
url: 'lookup/scp',
|
scp_data.status = 0;
|
||||||
method: 'POST',
|
scp_data.request = call;
|
||||||
data: {
|
scp_data.data = [];
|
||||||
callsign: $(this).val().toUpperCase()
|
$.ajax({
|
||||||
},
|
url: 'lookup/scp',
|
||||||
success: function (result) {
|
method: 'POST',
|
||||||
$('.callsign-suggestions').text(result);
|
data: {
|
||||||
highlight(call.toUpperCase());
|
callsign: call
|
||||||
}
|
},
|
||||||
});
|
success: function (result) {
|
||||||
|
scp_data.status = 1;
|
||||||
|
scp_data.data = result.split(" ");
|
||||||
|
|
||||||
|
var call = $("#callsign").val().toUpperCase(); // Might have changed while running the query...
|
||||||
|
$('.callsign-suggestions').text(scp_data.data.filter((el) => el.startsWith(call)).join(' '));
|
||||||
|
highlight(call);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Filter the already obtained list:
|
||||||
|
$('.callsign-suggestions').text(scp_data.data.filter((el) => el.startsWith(call)).join(' '));
|
||||||
|
highlight(call);
|
||||||
|
|
||||||
|
}
|
||||||
// moved to blur
|
// moved to blur
|
||||||
// checkIfWorkedBefore();
|
// checkIfWorkedBefore();
|
||||||
var qTable = $('.qsotable').DataTable();
|
var qTable = $('.qsotable').DataTable();
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
var lastCallsignUpdated=""
|
var lastCallsignUpdated=""
|
||||||
|
var scp_data = {
|
||||||
|
request: "",
|
||||||
|
status: -1 , // -1 - never req, 0 - req in progress, 1 - request done
|
||||||
|
data: [],
|
||||||
|
};
|
||||||
|
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
|
@ -1019,18 +1024,31 @@ $("#callsign").on("keypress", function(e) {
|
||||||
// On Key up check and suggest callsigns
|
// On Key up check and suggest callsigns
|
||||||
$("#callsign").keyup(function() {
|
$("#callsign").keyup(function() {
|
||||||
if ($(this).val().length >= 3) {
|
if ($(this).val().length >= 3) {
|
||||||
$('.callsign-suggest').show();
|
$callsign = $(this).val().replace('Ø', '0').toUpperCase();
|
||||||
$callsign = $(this).val().replace('Ø', '0');
|
|
||||||
$.ajax({
|
if (scp_data.status < 0 || scp_data.request != $callsign.substr(0, scp_data.request.length)) {
|
||||||
url: 'lookup/scp',
|
scp_data.status = 0;
|
||||||
method: 'POST',
|
scp_data.request = $callsign;
|
||||||
data: {
|
scp_data.data = [];
|
||||||
callsign: $callsign.toUpperCase()
|
$.ajax({
|
||||||
},
|
url: 'lookup/scp',
|
||||||
success: function(result) {
|
method: 'POST',
|
||||||
$('.callsign-suggestions').text(result);
|
data: {
|
||||||
}
|
callsign: $callsign
|
||||||
});
|
},
|
||||||
|
success: function(result) {
|
||||||
|
scp_data.status = 1;
|
||||||
|
scp_data.data = result.split(" ");
|
||||||
|
|
||||||
|
var call = $("#callsign").val().replace('Ø', '0').toUpperCase();
|
||||||
|
$('.callsign-suggestions').text(scp_data.data.filter((el) => el.startsWith(call)).join(' '));
|
||||||
|
$('.callsign-suggest').show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('.callsign-suggestions').text(scp_data.data.filter((el) => el.startsWith($callsign)).join(' '));
|
||||||
|
$('.callsign-suggest').show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue