No longer depend on a idToCid lookup

merge-requests/237/merge
Tag 2022-12-01 15:49:05 -08:00
rodzic 7936c4679e
commit c113e37e47
1 zmienionych plików z 34 dodań i 26 usunięć

Wyświetl plik

@ -38,7 +38,6 @@ var g_gtChatSocket = null;
var g_gtFlagPins = Object(); var g_gtFlagPins = Object();
var g_gtMessages = Object(); var g_gtMessages = Object();
var g_gtUnread = Object(); var g_gtUnread = Object();
var g_gtIdToCid = Object();
var g_gtCallsigns = Object(); var g_gtCallsigns = Object();
var g_gtSentAwayToCid = Object(); var g_gtSentAwayToCid = Object();
@ -273,35 +272,47 @@ function gtChatSendSpots(spotsObject, detailsObject)
function gtChatRemoveCall(jsmesg) function gtChatRemoveCall(jsmesg)
{ {
var id = jsmesg.id; var id = jsmesg.id;
if (id in g_gtIdToCid) var cid = jsmesg.cid;
if (cid in g_gtFlagPins)
{ {
var cid = g_gtIdToCid[id]; if (id in g_gtFlagPins[cid].ids)
if (cid in g_gtFlagPins)
{ {
delete g_gtFlagPins[cid].ids[id]; delete g_gtFlagPins[cid].ids[id];
if (Object.keys(g_gtFlagPins[cid].ids).length == 0) }
{ else
if (g_gtFlagPins[cid].pin != null) {
{ console.log("drop: No such id in gtCall:");
// remove pin from map here console.log(jsmesg);
if (g_layerSources.gtflags.hasFeature(g_gtFlagPins[cid].pin)) console.log(g_gtFlagPins[cid].ids);
{ g_layerSources.gtflags.removeFeature(g_gtFlagPins[cid].pin); } }
delete g_gtFlagPins[cid].pin;
g_gtFlagPins[cid].pin = null;
}
g_gtFlagPins[cid].live = false;
notifyNoChat(cid);
if (!(cid in g_gtMessages))
{
delete g_gtCallsigns[g_gtFlagPins[cid].call];
delete g_gtFlagPins[cid];
}
updateChatWindow(cid); if (Object.keys(g_gtFlagPins[cid].ids).length == 0)
{
if (g_gtFlagPins[cid].pin != null)
{
// remove pin from map here
if (g_layerSources.gtflags.hasFeature(g_gtFlagPins[cid].pin))
{ g_layerSources.gtflags.removeFeature(g_gtFlagPins[cid].pin); }
delete g_gtFlagPins[cid].pin;
g_gtFlagPins[cid].pin = null;
} }
g_gtFlagPins[cid].live = false;
notifyNoChat(cid);
if (!(cid in g_gtMessages))
{
delete g_gtCallsigns[g_gtFlagPins[cid].call];
delete g_gtFlagPins[cid];
}
updateChatWindow(cid);
} }
} }
delete g_gtIdToCid[id]; else
{
console.log("drop: No such cid in gtCall");
console.log(jsmesg);
}
} }
function gtChatUpdateCall(jsmesg) function gtChatUpdateCall(jsmesg)
@ -329,7 +340,6 @@ function gtChatUpdateCall(jsmesg)
g_gtFlagPins[cid].ids = Object(); g_gtFlagPins[cid].ids = Object();
g_gtFlagPins[cid].ids[id] = true; g_gtFlagPins[cid].ids[id] = true;
} }
g_gtIdToCid[jsmesg.id] = jsmesg.cid;
g_gtFlagPins[cid].cid = jsmesg.cid; g_gtFlagPins[cid].cid = jsmesg.cid;
g_gtFlagPins[cid].call = jsmesg.call; g_gtFlagPins[cid].call = jsmesg.call;
@ -429,7 +439,6 @@ function gtChatNewList(jsmesg)
g_gtFlagPins = Object() g_gtFlagPins = Object()
g_gtMessages = Object(); g_gtMessages = Object();
g_gtUnread = Object(); g_gtUnread = Object();
g_gtIdToCid = Object();
g_gtCallsigns = Object(); g_gtCallsigns = Object();
g_gtSentAwayToCid = Object(); g_gtSentAwayToCid = Object();
@ -451,7 +460,6 @@ function gtChatNewList(jsmesg)
g_gtFlagPins[cid].pin = null; g_gtFlagPins[cid].pin = null;
} }
g_gtIdToCid[id] = cid;
g_gtFlagPins[cid].call = jsmesg.data.calls[key]; g_gtFlagPins[cid].call = jsmesg.data.calls[key];
g_gtFlagPins[cid].fCall = g_gtFlagPins[cid].call.formatCallsign(); g_gtFlagPins[cid].fCall = g_gtFlagPins[cid].call.formatCallsign();
g_gtFlagPins[cid].grid = jsmesg.data.grid[key]; g_gtFlagPins[cid].grid = jsmesg.data.grid[key];