function renderNormalRosterHeaders(showBands, showModes) { let worker = "" worker = ""; worker += ""; if (showBands) { worker += ""; } if (showModes) { worker += ""; } worker += ""; if (g_rosterSettings.columns.Calling) { worker += ""; } if (g_rosterSettings.columns.Msg) { worker += ""; } if (g_rosterSettings.columns.DXCC) { worker += ""; } if (g_rosterSettings.columns.Flag) { worker += ""; } if (g_rosterSettings.columns.State) { worker += ""; } if (g_rosterSettings.columns.County) { worker += ""; } if (g_rosterSettings.columns.Cont) { worker += ""; } if (g_rosterSettings.columns.dB) { worker += ""; } if (g_rosterSettings.columns.Freq) { worker += ""; } if (g_rosterSettings.columns.DT) { worker += ""; } if (g_rosterSettings.columns.Dist) { worker += ""; } if (g_rosterSettings.columns.Azim) { worker += ""; } if (g_rosterSettings.columns.CQz) { worker += ""; } if (g_rosterSettings.columns.ITUz) { worker += ""; } if (g_rosterSettings.columns.PX) { worker += ""; } if (window.opener.g_callsignLookups.lotwUseEnable == true && g_rosterSettings.columns.LoTW) { worker += ""; } if (window.opener.g_callsignLookups.eqslUseEnable == true && g_rosterSettings.columns.eQSL) { worker += ""; } if (window.opener.g_callsignLookups.oqrsUseEnable == true && g_rosterSettings.columns.OQRS) { worker += ""; } if (g_rosterSettings.columns.Spot) { worker += ""; } if (g_rosterSettings.columns.Life) { worker += ""; } if (g_rosterSettings.columns.OAMS) { worker += ""; } if (g_rosterSettings.columns.Age) { worker += ""; } return worker } function renderNormalRosterRow(callObj, showBands, showModes) { let thisCall = callObj.DEcall; let acks = window.opener.g_acknowledgedCalls; let grid = callObj.grid.length > 1 ? callObj.grid.substr(0, 4) : "-"; let geo = window.opener.g_worldGeoData[window.opener.g_dxccToGeoData[callObj.dxcc]]; let cqzone = grid in window.opener.g_gridToCQZone ? window.opener.g_gridToCQZone[grid].join(", ") : "-"; let ituzone = grid in window.opener.g_gridToITUZone ? window.opener.g_gridToITUZone[grid].join(", ") : "-"; let spotString = ""; if (g_rosterSettings.columns.Spot && callObj.qrz == false) { spotString = getSpotString(callObj); } let thisHash = thisCall + callObj.band + callObj.mode; let callStr = thisCall.formatCallsign() if (acks[thisCall]) { callStr = `${callStr} ` callObj.awardReason += ` - ${acks[thisCall].message}` } let worker = ""; worker += ""; if (showBands) { worker += ""; } if (showModes) { let color = "888888"; if (callObj.mode in g_modeColors) { color = g_modeColors[callObj.mode]; } worker += ""; } worker += ""; if (g_rosterSettings.columns.Calling) { let lookString = callObj.CQ ? "name='CQ'" : "name='Calling'"; worker += ""; } if (g_rosterSettings.columns.Msg) { worker += ""; } if (g_rosterSettings.columns.DXCC) { worker += ""; } if (g_rosterSettings.columns.Flag) { worker += ""; } if (g_rosterSettings.columns.State) { worker += ""; } if (g_rosterSettings.columns.County) { worker += ""; } if (g_rosterSettings.columns.Cont) { worker += ""; } if (g_rosterSettings.columns.dB) { worker += ""; } if (g_rosterSettings.columns.Freq) { worker += ""; } if (g_rosterSettings.columns.DT) { worker += ""; } if (g_rosterSettings.columns.Dist) { worker += ""; } if (g_rosterSettings.columns.Azim) { worker += ""; } if (g_rosterSettings.columns.CQz) { worker += ""; } if (g_rosterSettings.columns.ITUz) { worker += ""; } if (g_rosterSettings.columns.PX) { worker += ""; } if ( window.opener.g_callsignLookups.lotwUseEnable == true && g_rosterSettings.columns.LoTW ) { if (thisCall in window.opener.g_lotwCallsigns) { if (g_rosterSettings.maxLoTW < 27) { let months = (g_day - window.opener.g_lotwCallsigns[thisCall]) / 30; if (months > g_rosterSettings.maxLoTW) { worker += ""; } else { worker += ""; } } else { worker += ""; } } else worker += ""; } if ( window.opener.g_callsignLookups.eqslUseEnable == true && g_rosterSettings.columns.eQSL ) { worker += ""; } if ( window.opener.g_callsignLookups.oqrsUseEnable == true && g_rosterSettings.columns.OQRS ) { worker += ""; } if (g_rosterSettings.columns.Spot) { worker += ""; } if (g_rosterSettings.columns.Life) { worker += ""; } if (g_rosterSettings.columns.OAMS) { if (callObj.style.gt != 0) { if (callObj.reason.includes("oams")) { worker += ""; } else { worker += ""; } } else worker += ""; } if (g_rosterSettings.columns.Age) { worker += ""; } worker += ""; return worker; } function renderNormalRosterFooter() { return "
CallsignBandModeGridCallingMsgDXCCFlagStateCountyContdBFreqDTDist(" + window.opener.distanceUnit.value.toLowerCase() + ")AzimCQzITUzPXLoTWeQSLOQRSSpotLifeOAMSAge
" + callStr + "" + callObj.band + "" + callObj.mode + "" + grid + "" + callObj.DXcall.formatCallsign() + "" + callObj.msg + "" + window.opener.g_dxccToAltName[callObj.dxcc] + "" + (callObj.state ? callObj.state.substr(3) : "") + "" + (callObj.cnty ? (callObj.qual ? "" : "¿ ") + window.opener.g_cntyToCounty[callObj.cnty] + (callObj.qual ? "" : " ?") : "") + "" + (callObj.cont ? callObj.cont : "") + "" + callObj.RSTsent + "" + callObj.delta + "" + callObj.dt + "" + parseInt( callObj.distance * MyCircle.validateRadius(window.opener.distanceUnit.value) ) + "" + parseInt(callObj.heading) + "" + callObj.cqza.join(",") + "" + callObj.ituza.join(",") + "" + (callObj.px ? callObj.px : "") + "?" + (thisCall in window.opener.g_eqslCallsigns ? "✔" : "") + "" + (thisCall in window.opener.g_oqrsCallsigns ? "✔" : "") + "" + spotString + "" + (timeNowSec() - callObj.life).toDHMS() + "" + (timeNowSec() - callObj.age).toDHMS() + "
"; }