From 4c39cb4d06bcd088bcc51ce8247284c6b0f751ab Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Fri, 7 Feb 2025 08:29:18 -0700 Subject: [PATCH 1/2] fixed MPG label bugs when all tagged records are partial fuel ups. --- wwwroot/js/gasrecord.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wwwroot/js/gasrecord.js b/wwwroot/js/gasrecord.js index faf0d69..5b6b0d3 100644 --- a/wwwroot/js/gasrecord.js +++ b/wwwroot/js/gasrecord.js @@ -320,14 +320,14 @@ function updateMPGLabels() { var rowsUnaggregated = $("[data-aggregated='false']").parent(":not('.override-hide')"); var rowMPG = rowsToAggregate.children('[data-gas-type="fueleconomy"]').toArray().map(x => globalParseFloat(x.textContent)); var maxMPG = rowMPG.length > 0 ? rowMPG.reduce((a, b) => a > b ? a : b) : 0; - var minMPG = rowMPG.length > 0 ? rowMPG.filter(x=>x>0).reduce((a, b) => a < b ? a : b) : 0; + var minMPG = rowMPG.length > 0 && rowMPG.filter(x => x > 0).length > 0 ? rowMPG.filter(x => x > 0).reduce((a, b) => a < b ? a : b) : 0; var totalMilesTraveled = rowMPG.length > 0 ? rowsToAggregate.children('[data-gas-type="mileage"]').toArray().map(x => globalParseFloat($(x).attr("data-gas-aggregate"))).reduce((a, b) => a + b) : 0; var totalGasConsumed = rowMPG.length > 0 ? rowsToAggregate.children('[data-gas-type="consumption"]').toArray().map(x => globalParseFloat(x.textContent)).reduce((a, b) => a + b) : 0; var totalUnaggregatedGasConsumed = rowsUnaggregated.length > 0 ? rowsUnaggregated.children('[data-gas-type="consumption"]').toArray().map(x => globalParseFloat(x.textContent)).reduce((a, b) => a + b) : 0; var totalMilesTraveledUnaggregated = rowsUnaggregated.length > 0 ? rowsUnaggregated.children('[data-gas-type="mileage"]').toArray().map(x => globalParseFloat($(x).attr("data-gas-aggregate"))).reduce((a, b) => a + b) : 0; var fullGasConsumed = totalGasConsumed + totalUnaggregatedGasConsumed; var fullDistanceTraveled = totalMilesTraveled + totalMilesTraveledUnaggregated; - if (totalGasConsumed > 0) { + if (totalGasConsumed > 0 && rowMPG.filter(x => x > 0).length > 0) { var averageMPG = totalMilesTraveled / totalGasConsumed; if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l' && averageMPG > 0) { averageMPG = 100 / averageMPG; From 20b4396a4caa3b16d80bcf9e09cf8fb7e8b6f972 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Fri, 7 Feb 2025 08:32:26 -0700 Subject: [PATCH 2/2] simplified code. --- wwwroot/js/gasrecord.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wwwroot/js/gasrecord.js b/wwwroot/js/gasrecord.js index 5b6b0d3..a02bad6 100644 --- a/wwwroot/js/gasrecord.js +++ b/wwwroot/js/gasrecord.js @@ -319,15 +319,16 @@ function updateMPGLabels() { var rowsToAggregate = $("[data-aggregated='true']").parent(":not('.override-hide')"); var rowsUnaggregated = $("[data-aggregated='false']").parent(":not('.override-hide')"); var rowMPG = rowsToAggregate.children('[data-gas-type="fueleconomy"]').toArray().map(x => globalParseFloat(x.textContent)); + var rowNonZeroMPG = rowMPG.filter(x => x > 0); var maxMPG = rowMPG.length > 0 ? rowMPG.reduce((a, b) => a > b ? a : b) : 0; - var minMPG = rowMPG.length > 0 && rowMPG.filter(x => x > 0).length > 0 ? rowMPG.filter(x => x > 0).reduce((a, b) => a < b ? a : b) : 0; + var minMPG = rowMPG.length > 0 && rowNonZeroMPG.length > 0 ? rowNonZeroMPG.reduce((a, b) => a < b ? a : b) : 0; var totalMilesTraveled = rowMPG.length > 0 ? rowsToAggregate.children('[data-gas-type="mileage"]').toArray().map(x => globalParseFloat($(x).attr("data-gas-aggregate"))).reduce((a, b) => a + b) : 0; var totalGasConsumed = rowMPG.length > 0 ? rowsToAggregate.children('[data-gas-type="consumption"]').toArray().map(x => globalParseFloat(x.textContent)).reduce((a, b) => a + b) : 0; var totalUnaggregatedGasConsumed = rowsUnaggregated.length > 0 ? rowsUnaggregated.children('[data-gas-type="consumption"]').toArray().map(x => globalParseFloat(x.textContent)).reduce((a, b) => a + b) : 0; var totalMilesTraveledUnaggregated = rowsUnaggregated.length > 0 ? rowsUnaggregated.children('[data-gas-type="mileage"]').toArray().map(x => globalParseFloat($(x).attr("data-gas-aggregate"))).reduce((a, b) => a + b) : 0; var fullGasConsumed = totalGasConsumed + totalUnaggregatedGasConsumed; var fullDistanceTraveled = totalMilesTraveled + totalMilesTraveledUnaggregated; - if (totalGasConsumed > 0 && rowMPG.filter(x => x > 0).length > 0) { + if (totalGasConsumed > 0 && rowNonZeroMPG.length > 0) { var averageMPG = totalMilesTraveled / totalGasConsumed; if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l' && averageMPG > 0) { averageMPG = 100 / averageMPG;