From f17ed4325da49518b7701ea7156b15ff3bc1ca4f Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Thu, 25 Aug 2022 22:27:18 -0400 Subject: [PATCH 1/6] override hunting in CR based on Awards in award tracker --- package.nw/lib/roster.js | 2 +- package.nw/lib/roster/processRosterHunting.js | 66 ++++++++++++++++--- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index c1508ad..be330fe 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -324,7 +324,7 @@ function viewRoster() { let rosterSettings = prepareRosterSettings(); processRosterFiltering(callRoster, rosterSettings); - processRosterHunting(callRoster, rosterSettings); + processRosterHunting(callRoster, rosterSettings, g_awardTracker); renderRoster(callRoster, rosterSettings); sendAlerts(callRoster, rosterSettings); } diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index e901ea5..2acd45d 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -1,4 +1,4 @@ -function processRosterHunting(callRoster, rosterSettings) +function processRosterHunting(callRoster, rosterSettings, awardTracker) { // these lets, do they rely on anything between the top and here? // if not could they be put in the let list at the beginning? @@ -165,7 +165,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for callsigns - if (huntCallsign.checked == true) + let awardTrackerCallsOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type === "call"){ + awardTrackerCallsOverride = true; + } + }) + if (huntCallsign.checked || awardTrackerCallsOverride) { let hash = callsign + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (callsign + layeredHashSuffix) @@ -242,7 +248,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for grids - if (huntGrid.checked == true && callObj.grid.length > 1) + let awardTrackerGridsOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type === "grids"){ + awardTrackerGridsOverride = true; + } + }) + if ((huntGrid.checked || awardTrackerGridsOverride ) && callObj.grid.length > 1) { let hash = callObj.grid.substr(0, 4) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (callObj.grid.substr(0, 4) + layeredHashSuffix) @@ -292,7 +304,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for DXCC - if (huntDXCC.checked == true) + let awardTrackerDXCCOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type === "dxcc"){ + awardTrackerDXCCOverride = true; + } + }) + if (huntDXCC.checked || awardTrackerDXCCOverride) { let hash = String(callObj.dxcc) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.dxcc) + layeredHashSuffix) @@ -363,7 +381,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for US States - if (huntState.checked == true && window.opener.g_callsignLookups.ulsUseEnable == true) + let awardTrackerStatesOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type === "states"){ + awardTrackerStatesOverride = true; + } + }) + if ((huntState.checked || awardTrackerStatesOverride) && window.opener.g_callsignLookups.ulsUseEnable == true) { let stateSearch = callObj.state; let finalDxcc = callObj.dxcc; @@ -421,7 +445,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for US Counties - if (huntCounty.checked == true && window.opener.g_callsignLookups.ulsUseEnable == true) + let awardTrackerCountiesOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type == "cnty"){ + awardTrackerCountiesOverride = true; + } + }) + if ((huntCounty.checked || awardTrackerCountiesOverride) && window.opener.g_callsignLookups.ulsUseEnable == true) { let finalDxcc = callObj.dxcc; if ( @@ -535,7 +565,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for CQ Zones - if (huntCQz.checked == true) + let awardTrackerCqZonesOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type == "cqz"){ + awardTrackerCqZonesOverride = true; + } + }) + if (huntCQz.checked || awardTrackerCqZonesOverride) { let huntTotal = callObj.cqza.length; let huntFound = 0, layeredFound = 0, workedFound = 0, layeredWorkedFound = 0, marathonFound = 0; @@ -676,7 +712,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for WPX (Prefixes) - if (huntPX.checked == true && callObj.px) + let awardTrackerPrefixOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type == "px"){ + awardTrackerPrefixOverride = true; + } + }) + if ((huntPX.checked || awardTrackerPrefixOverride) && callObj.px) { let hash = String(callObj.px) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.px) + layeredHashSuffix) @@ -726,7 +768,13 @@ function processRosterHunting(callRoster, rosterSettings) } // Hunting for Continents - if (huntCont.checked == true && callObj.cont) + let awardTrackerContOverride = false; + Object.keys(awardTracker).forEach(function(key) { + if (awardTracker[key].rule.type == "cont"){ + awardTrackerContOverride = true; + } + }) + if ((huntCont.checked || awardTrackerContOverride) && callObj.cont) { let hash = String(callObj.cont) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.cont) + layeredHashSuffix) From 2564e6a9f8733d9093d0e0b912b40c942e413d65 Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Thu, 25 Aug 2022 22:30:08 -0400 Subject: [PATCH 2/6] fixed linting --- package.nw/lib/roster/processRosterHunting.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index 2acd45d..9e15bec 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -167,7 +167,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for callsigns let awardTrackerCallsOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "call"){ + if (awardTracker[key].rule.type === "call") { awardTrackerCallsOverride = true; } }) @@ -250,7 +250,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for grids let awardTrackerGridsOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "grids"){ + if (awardTracker[key].rule.type === "grids") { awardTrackerGridsOverride = true; } }) @@ -306,7 +306,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for DXCC let awardTrackerDXCCOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "dxcc"){ + if (awardTracker[key].rule.type === "dxcc") { awardTrackerDXCCOverride = true; } }) @@ -383,7 +383,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for US States let awardTrackerStatesOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "states"){ + if (awardTracker[key].rule.type === "states") { awardTrackerStatesOverride = true; } }) @@ -447,7 +447,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for US Counties let awardTrackerCountiesOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cnty"){ + if (awardTracker[key].rule.type == "cnty") { awardTrackerCountiesOverride = true; } }) @@ -567,7 +567,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for CQ Zones let awardTrackerCqZonesOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cqz"){ + if (awardTracker[key].rule.type == "cqz") { awardTrackerCqZonesOverride = true; } }) @@ -714,7 +714,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for WPX (Prefixes) let awardTrackerPrefixOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "px"){ + if (awardTracker[key].rule.type == "px") { awardTrackerPrefixOverride = true; } }) @@ -770,7 +770,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) // Hunting for Continents let awardTrackerContOverride = false; Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cont"){ + if (awardTracker[key].rule.type == "cont") { awardTrackerContOverride = true; } }) From 79ea410c14387277c8430c9fbad4f397e494a85f Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Thu, 25 Aug 2022 22:35:42 -0400 Subject: [PATCH 3/6] fixed linting #2 --- package.nw/lib/roster/processRosterHunting.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index 9e15bec..f374460 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -254,7 +254,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) awardTrackerGridsOverride = true; } }) - if ((huntGrid.checked || awardTrackerGridsOverride ) && callObj.grid.length > 1) + if ((huntGrid.checked || awardTrackerGridsOverride) && callObj.grid.length > 1) { let hash = callObj.grid.substr(0, 4) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (callObj.grid.substr(0, 4) + layeredHashSuffix) From 130e47a0c54298283797f73d0ee9368301f4e119 Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Sun, 28 Aug 2022 22:16:50 -0400 Subject: [PATCH 4/6] review changes, bugfix --- package.nw/lib/roster/processRosterHunting.js | 82 ++++++------------- 1 file changed, 26 insertions(+), 56 deletions(-) diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index f374460..bf37e18 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -163,15 +163,27 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) callObj.style.call = "class='dxCaller'"; } } + // award tracker overrides + let awardTrackerOverrides = { + call: false, + grids: false, + dxcc: false, + states: false, + cnty: false, + cqz: false, + px: false, + cont: false + }; + // import const from roster.js? + const LOGBOOK_AWARD_TRACKER = 6; + if (g_rosterSettings.reference == LOGBOOK_AWARD_TRACKER) { + for (let key in awardTracker) { + awardTrackerOverrides[awardTracker[key].rule.type] = true; + } + } // Hunting for callsigns - let awardTrackerCallsOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "call") { - awardTrackerCallsOverride = true; - } - }) - if (huntCallsign.checked || awardTrackerCallsOverride) + if (huntCallsign.checked || awardTrackerOverrides.call) { let hash = callsign + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (callsign + layeredHashSuffix) @@ -248,13 +260,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for grids - let awardTrackerGridsOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "grids") { - awardTrackerGridsOverride = true; - } - }) - if ((huntGrid.checked || awardTrackerGridsOverride) && callObj.grid.length > 1) + if ((huntGrid.checked || awardTrackerOverrides.grids) && callObj.grid.length > 1) { let hash = callObj.grid.substr(0, 4) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (callObj.grid.substr(0, 4) + layeredHashSuffix) @@ -304,13 +310,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for DXCC - let awardTrackerDXCCOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "dxcc") { - awardTrackerDXCCOverride = true; - } - }) - if (huntDXCC.checked || awardTrackerDXCCOverride) + if (huntDXCC.checked || awardTrackerOverrides.dxcc) { let hash = String(callObj.dxcc) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.dxcc) + layeredHashSuffix) @@ -381,13 +381,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for US States - let awardTrackerStatesOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type === "states") { - awardTrackerStatesOverride = true; - } - }) - if ((huntState.checked || awardTrackerStatesOverride) && window.opener.g_callsignLookups.ulsUseEnable == true) + if ((huntState.checked || awardTrackerOverrides.states) && window.opener.g_callsignLookups.ulsUseEnable == true) { let stateSearch = callObj.state; let finalDxcc = callObj.dxcc; @@ -445,13 +439,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for US Counties - let awardTrackerCountiesOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cnty") { - awardTrackerCountiesOverride = true; - } - }) - if ((huntCounty.checked || awardTrackerCountiesOverride) && window.opener.g_callsignLookups.ulsUseEnable == true) + if ((huntCounty.checked || awardTrackerOverrides.cnty) && window.opener.g_callsignLookups.ulsUseEnable == true) { let finalDxcc = callObj.dxcc; if ( @@ -565,13 +553,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for CQ Zones - let awardTrackerCqZonesOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cqz") { - awardTrackerCqZonesOverride = true; - } - }) - if (huntCQz.checked || awardTrackerCqZonesOverride) + if (huntCQz.checked || awardTrackerOverrides.cqz) { let huntTotal = callObj.cqza.length; let huntFound = 0, layeredFound = 0, workedFound = 0, layeredWorkedFound = 0, marathonFound = 0; @@ -712,13 +694,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for WPX (Prefixes) - let awardTrackerPrefixOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "px") { - awardTrackerPrefixOverride = true; - } - }) - if ((huntPX.checked || awardTrackerPrefixOverride) && callObj.px) + if ((huntPX.checked || awardTrackerOverrides.px) && callObj.px) { let hash = String(callObj.px) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.px) + layeredHashSuffix) @@ -768,13 +744,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for Continents - let awardTrackerContOverride = false; - Object.keys(awardTracker).forEach(function(key) { - if (awardTracker[key].rule.type == "cont") { - awardTrackerContOverride = true; - } - }) - if ((huntCont.checked || awardTrackerContOverride) && callObj.cont) + if ((huntCont.checked || awardTrackerOverrides.cont) && callObj.cont) { let hash = String(callObj.cont) + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (String(callObj.cont) + layeredHashSuffix) From f1e0c2ebadc49244c584ffdd5f170487c7bd5b7d Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Sun, 28 Aug 2022 22:23:38 -0400 Subject: [PATCH 5/6] fixed const import --- package.nw/lib/roster/processRosterHunting.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index bf37e18..db3154f 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -174,8 +174,6 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) px: false, cont: false }; - // import const from roster.js? - const LOGBOOK_AWARD_TRACKER = 6; if (g_rosterSettings.reference == LOGBOOK_AWARD_TRACKER) { for (let key in awardTracker) { awardTrackerOverrides[awardTracker[key].rule.type] = true; From 2b63ae22b41e6c473e6fc346b0d86798ef9f5cf4 Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Wed, 31 Aug 2022 23:12:18 -0400 Subject: [PATCH 6/6] don't display hunt controls in award tracker mode --- package.nw/lib/roster.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index be330fe..af812a4 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -855,18 +855,10 @@ function setVisual() // Award Hunter if (referenceNeed.value == LOGBOOK_AWARD_TRACKER) { - /* for ( key in g_rosterSettings.wanted ) - { - document.getElementById(key).checked = true; - let t = key.replace("hunt",""); - if ( t in g_rosterSettings.columns ) - g_rosterSettings.columns[t] = true; - } */ - HuntModeControls.style.display = "none"; CallsignsControls.style.display = "none"; AwardTrackerControls.style.display = ""; - huntingMatrixDiv.style.display = ""; + huntingMatrixDiv.style.display = "none"; updateAwardList(); } else