Fixed lookup cache merge on log event

master
Tag Loomis 2024-09-06 21:00:06 -07:00
rodzic d3082f3fca
commit 7cd3b09a15
1 zmienionych plików z 18 dodań i 37 usunięć

Wyświetl plik

@ -1572,49 +1572,30 @@ function sendToLogger(ADIF)
record.COUNTRY = GT.dxccToADIFName[Number(record.DXCC)]; record.COUNTRY = GT.dxccToADIFName[Number(record.DXCC)];
} }
if (GT.appSettings.lookupMerge == true) if (GT.appSettings.lookupMerge == true && record.CALL in GT.lookupCache)
{ {
var request = GT.Idb var lookup = GT.lookupCache[record.CALL];
.transaction(["lookups"], "readwrite") for (var key in lookup)
.objectStore("lookups")
.get(record.CALL);
request.onsuccess = function (event)
{ {
if (request.result) if (key in GT.adifLookupMap)
{ {
var lookup = request.result; record[GT.adifLookupMap[key]] = lookup[key];
for (var key in lookup)
{
if (key in GT.adifLookupMap)
{
record[GT.adifLookupMap[key]] = lookup[key];
}
}
if ("GRIDSQUARE" in record && "grid" in lookup)
{
if (record.GRIDSQUARE.substr(0, 4) == lookup.grid.substr(0, 4))
{
record.GRIDSQUARE = lookup.grid;
}
}
if (GT.appSettings.lookupMissingGrid && "grid" in lookup && (!("GRIDSQUARE" in record) || record.GRIDSQUARE.length == 0))
{
record.GRIDSQUARE = lookup.grid;
}
} }
finishSendingReport(record, localMode); }
}; if ("GRIDSQUARE" in record && "grid" in lookup)
request.onerror = function (event)
{ {
finishSendingReport(record, localMode); if (record.GRIDSQUARE.substr(0, 4) == lookup.grid.substr(0, 4))
}; {
} record.GRIDSQUARE = lookup.grid;
else }
{ }
finishSendingReport(record, localMode); if (GT.appSettings.lookupMissingGrid && "grid" in lookup && (!("GRIDSQUARE" in record) || record.GRIDSQUARE.length == 0))
{
record.GRIDSQUARE = lookup.grid;
}
} }
finishSendingReport(record, localMode);
} }
function finishSendingReport(record, localMode) function finishSendingReport(record, localMode)