Fuel Consumption label now updates based on fuel consumption unit selected.
This commit is contained in:
@@ -68,7 +68,7 @@
|
|||||||
<span class="ms-2 badge bg-primary" id="maxFuelMileageLabel">@($"{translator.Translate(userLanguage, "Max Fuel Economy")}: {Model.GasRecords.Where(y => y.MilesPerGallon > 0)?.Min(x => x.MilesPerGallon).ToString("F") ?? "0"}")</span>
|
<span class="ms-2 badge bg-primary" id="maxFuelMileageLabel">@($"{translator.Translate(userLanguage, "Max Fuel Economy")}: {Model.GasRecords.Where(y => y.MilesPerGallon > 0)?.Min(x => x.MilesPerGallon).ToString("F") ?? "0"}")</span>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<span class="ms-2 badge bg-success">@($"{translator.Translate(userLanguage, "Total Fuel Consumed")}: {Model.GasRecords.Sum(x => x.Gallons).ToString("F")}")</span>
|
<span class="ms-2 badge bg-success" id="totalFuelConsumedLabel">@($"{translator.Translate(userLanguage, "Total Fuel Consumed")}: {Model.GasRecords.Sum(x => x.Gallons).ToString("F")}")</span>
|
||||||
<span class="ms-2 badge bg-success" data-aggregate-type="sum">@($"{translator.Translate(userLanguage, "Total Cost")}: {Model.GasRecords.Sum(x => x.Cost).ToString(gasCostFormat)}")</span>
|
<span class="ms-2 badge bg-success" data-aggregate-type="sum">@($"{translator.Translate(userLanguage, "Total Cost")}: {Model.GasRecords.Sum(x => x.Cost).ToString(gasCostFormat)}")</span>
|
||||||
@foreach (string recordTag in recordTags)
|
@foreach (string recordTag in recordTags)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -267,6 +267,7 @@ function convertGasConsumptionUnits(currentUnit, destinationUnit, save) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
updateMPGLabels();
|
||||||
}
|
}
|
||||||
|
|
||||||
function convertFuelMileageUnits(currentUnit, destinationUnit, save) {
|
function convertFuelMileageUnits(currentUnit, destinationUnit, save) {
|
||||||
@@ -281,31 +282,6 @@ function convertFuelMileageUnits(currentUnit, destinationUnit, save) {
|
|||||||
elem.innerText = globalFloatToString(convertedAmount.toFixed(2));
|
elem.innerText = globalFloatToString(convertedAmount.toFixed(2));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//update labels up top.
|
|
||||||
if ($("#averageFuelMileageLabel").length > 0) {
|
|
||||||
var newAverage = globalParseFloat($("#averageFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newAverage > 0) {
|
|
||||||
newAverage = 100 / newAverage;
|
|
||||||
var averageLabel = $("#averageFuelMileageLabel");
|
|
||||||
averageLabel.text(`${averageLabel.text().split(':')[0]}: ${globalFloatToString(newAverage.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($("#minFuelMileageLabel").length > 0) {
|
|
||||||
var newMin = globalParseFloat($("#minFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newMin > 0) {
|
|
||||||
newMin = 100 / newMin;
|
|
||||||
var minLabel = $("#minFuelMileageLabel");
|
|
||||||
minLabel.text(`${minLabel.text().split(':')[0]}: ${globalFloatToString(newMin.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($("#maxFuelMileageLabel").length > 0) {
|
|
||||||
var newMax = globalParseFloat($("#maxFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newMax > 0) {
|
|
||||||
newMax = 100 / newMax;
|
|
||||||
var maxLabel = $("#maxFuelMileageLabel");
|
|
||||||
maxLabel.text(`${maxLabel.text().split(':')[0]}: ${globalFloatToString(newMax.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sender.text(sender.text().replace(sender.attr("data-unit"), "km/l"));
|
sender.text(sender.text().replace(sender.attr("data-unit"), "km/l"));
|
||||||
sender.attr("data-unit", "km/l");
|
sender.attr("data-unit", "km/l");
|
||||||
if (save) { setDebounce(saveUserGasTabPreferences); }
|
if (save) { setDebounce(saveUserGasTabPreferences); }
|
||||||
@@ -321,36 +297,13 @@ function convertFuelMileageUnits(currentUnit, destinationUnit, save) {
|
|||||||
elem.innerText = globalFloatToString(convertedAmount.toFixed(2));
|
elem.innerText = globalFloatToString(convertedAmount.toFixed(2));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if ($("#averageFuelMileageLabel").length > 0) {
|
|
||||||
var newAverage = globalParseFloat($("#averageFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newAverage > 0) {
|
|
||||||
newAverage = 100 / newAverage;
|
|
||||||
var averageLabel = $("#averageFuelMileageLabel");
|
|
||||||
averageLabel.text(`${averageLabel.text().split(':')[0]}: ${globalFloatToString(newAverage.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($("#minFuelMileageLabel").length > 0) {
|
|
||||||
var newMin = globalParseFloat($("#minFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newMin > 0) {
|
|
||||||
newMin = 100 / newMin;
|
|
||||||
var minLabel = $("#minFuelMileageLabel");
|
|
||||||
minLabel.text(`${minLabel.text().split(':')[0]}: ${globalFloatToString(newMin.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($("#maxFuelMileageLabel").length > 0) {
|
|
||||||
var newMax = globalParseFloat($("#maxFuelMileageLabel").text().split(":")[1].trim());
|
|
||||||
if (newMax > 0) {
|
|
||||||
newMax = 100 / newMax;
|
|
||||||
var maxLabel = $("#maxFuelMileageLabel");
|
|
||||||
maxLabel.text(`${maxLabel.text().split(':')[0]}: ${globalFloatToString(newMax.toFixed(2))}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sender.text(sender.text().replace(sender.attr("data-unit"), "l/100km"));
|
sender.text(sender.text().replace(sender.attr("data-unit"), "l/100km"));
|
||||||
sender.attr("data-unit", "l/100km");
|
sender.attr("data-unit", "l/100km");
|
||||||
if (save) { setDebounce(saveUserGasTabPreferences); }
|
if (save) { setDebounce(saveUserGasTabPreferences); }
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
updateMPGLabels();
|
||||||
}
|
}
|
||||||
function toggleGasFilter(sender) {
|
function toggleGasFilter(sender) {
|
||||||
filterTable('gas-tab-pane', sender);
|
filterTable('gas-tab-pane', sender);
|
||||||
@@ -360,13 +313,17 @@ function updateMPGLabels() {
|
|||||||
var averageLabel = $("#averageFuelMileageLabel");
|
var averageLabel = $("#averageFuelMileageLabel");
|
||||||
var minLabel = $("#minFuelMileageLabel");
|
var minLabel = $("#minFuelMileageLabel");
|
||||||
var maxLabel = $("#maxFuelMileageLabel");
|
var maxLabel = $("#maxFuelMileageLabel");
|
||||||
if (averageLabel.length > 0 && minLabel.length > 0 && maxLabel.length > 0) {
|
var totalConsumedLabel = $("#totalFuelConsumedLabel");
|
||||||
|
if (averageLabel.length > 0 && minLabel.length > 0 && maxLabel.length > 0 && totalConsumedLabel.length > 0) {
|
||||||
var rowsToAggregate = $("[data-aggregated='true']").parent(":not('.override-hide')");
|
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 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 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).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 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).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 fullGasConsumed = totalGasConsumed + totalUnaggregatedGasConsumed;
|
||||||
if (totalGasConsumed > 0) {
|
if (totalGasConsumed > 0) {
|
||||||
var averageMPG = totalMilesTraveled / totalGasConsumed;
|
var averageMPG = totalMilesTraveled / totalGasConsumed;
|
||||||
if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l' && averageMPG > 0) {
|
if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l' && averageMPG > 0) {
|
||||||
@@ -374,7 +331,12 @@ function updateMPGLabels() {
|
|||||||
}
|
}
|
||||||
averageLabel.text(`${averageLabel.text().split(':')[0]}: ${globalFloatToString(averageMPG.toFixed(2))}`);
|
averageLabel.text(`${averageLabel.text().split(':')[0]}: ${globalFloatToString(averageMPG.toFixed(2))}`);
|
||||||
} else {
|
} else {
|
||||||
averageLabel.text(`${averageLabel.text().split(':')[0]}: 0.00`);
|
averageLabel.text(`${averageLabel.text().split(':')[0]}: ${globalFloatToString('0.00')}`);
|
||||||
|
}
|
||||||
|
if (fullGasConsumed > 0) {
|
||||||
|
totalConsumedLabel.text(`${totalConsumedLabel.text().split(':')[0]}: ${globalFloatToString(fullGasConsumed.toFixed(2))}`);
|
||||||
|
} else {
|
||||||
|
totalConsumedLabel.text(`${totalConsumedLabel.text().split(':')[0]}: ${globalFloatToString('0.00')}`);
|
||||||
}
|
}
|
||||||
if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l') {
|
if (!getGlobalConfig().useMPG && $("[data-gas='fueleconomy']").attr("data-unit") != 'km/l') {
|
||||||
maxLabel.text(`${maxLabel.text().split(':')[0]}: ${globalFloatToString(minMPG.toFixed(2))}`);
|
maxLabel.text(`${maxLabel.text().split(':')[0]}: ${globalFloatToString(minMPG.toFixed(2))}`);
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ function updateAggregateLabels() {
|
|||||||
var sumLabel = $("[data-aggregate-type='sum']");
|
var sumLabel = $("[data-aggregate-type='sum']");
|
||||||
if (sumLabel.length > 0) {
|
if (sumLabel.length > 0) {
|
||||||
var labelsToSum = $("[data-record-type='cost']").parent(":not('.override-hide')").children("[data-record-type='cost']").toArray();
|
var labelsToSum = $("[data-record-type='cost']").parent(":not('.override-hide')").children("[data-record-type='cost']").toArray();
|
||||||
var newSum = 0;
|
var newSum = "0.00";
|
||||||
if (labelsToSum.length > 0) {
|
if (labelsToSum.length > 0) {
|
||||||
newSum = labelsToSum.map(x => globalParseFloat(x.textContent)).reduce((a, b,) => a + b).toFixed(2);
|
newSum = labelsToSum.map(x => globalParseFloat(x.textContent)).reduce((a, b,) => a + b).toFixed(2);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user