Skip to content

Commit

Permalink
Merge pull request #181 from andig/fix-consumption-prefix
Browse files Browse the repository at this point in the history
Fix units like l, m^3 and m3 being prefixed like kl, km^3 etc
  • Loading branch information
justinotherguy committed Sep 30, 2014
2 parents 082aabe + 6ba7db7 commit 51c308e
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
8 changes: 5 additions & 3 deletions htdocs/frontend/javascripts/entity.js
Expand Up @@ -218,9 +218,11 @@ Entity.prototype.loadTotalConsumption = function() {
var consumption = 1000 * this.initialconsumption + json.data.consumption;

var row = $('#entity-' + this.uuid);
var unit = vz.wui.formatConsumptionUnit(this.definition.unit);

$('.total', row)
.data('total', consumption)
.text(vz.wui.formatNumber(consumption, 'k') + vz.wui.formatConsumptionUnit(this.definition.unit));
.text(vz.wui.formatNumber(consumption, vz.wui.unitPrefixingAllowed(unit, 'k')) + unit);

// unhide total column
vz.entities.updateTable();
Expand Down Expand Up @@ -624,8 +626,8 @@ Entity.prototype.updateDOMRow = function() {
if (this.data.consumption) {
var unit = vz.wui.formatConsumptionUnit(this.definition.unit);
$('.consumption', row)
.text(vz.wui.formatNumber(this.data.consumption, true) + unit)
.attr('title', vz.wui.formatNumber(this.data.consumption * (year/delta), true) + unit + '/Jahr');
.text(vz.wui.formatNumber(this.data.consumption, vz.wui.unitPrefixingAllowed(unit)) + unit)
.attr('title', vz.wui.formatNumber(this.data.consumption * (year/delta), vz.wui.unitPrefixingAllowed(unit)) + unit + '/Jahr');
}

if (this.cost) {
Expand Down
13 changes: 11 additions & 2 deletions htdocs/frontend/javascripts/wui.js
Expand Up @@ -668,13 +668,22 @@ vz.wui.formatNumber = function(number, prefix) {
number = Math.round(number * Math.pow(10, precision)) / Math.pow(10, precision); // rounding
}

if (prefix) {
if (prefix)
number += (siIndex > 0) ? ' ' + siPrefixes[siIndex-1] : ' ';
}
else
number += ' ';

return number;
};

/**
* Prevent prefixing of special units during number formatting
*/
vz.wui.unitPrefixingAllowed = function(unit, maxPrefix) {
var staticUnit = ['l', 'm3', 'm^3', 'm³'].indexOf(unit) >= 0;
return (staticUnit) ? false : maxPrefix || true;
};

/**
* Convert units into hourly consumption unit
*/
Expand Down
6 changes: 3 additions & 3 deletions lib/Volkszaehler/Definition/EntityDefinition.json
Expand Up @@ -168,7 +168,7 @@
{
"name" : "gas",
"required" : ["resolution"],
"optional" : ["tolerance", "cost", "local"],
"optional" : ["tolerance", "cost", "local", "initialconsumption"],
"icon" : "flame.png",
"unit" : "m³/h",
"interpreter" : "Volkszaehler\\Interpreter\\MeterInterpreter",
Expand All @@ -183,7 +183,7 @@
{
"name" : "gas meter",
"required" : ["resolution"],
"optional" : ["tolerance", "cost", "local"],
"optional" : ["tolerance", "cost", "local", "initialconsumption"],
"icon" : "flame.png",
"unit" : "m³/h",
"interpreter" : "Volkszaehler\\Interpreter\\CounterInterpreter",
Expand All @@ -197,7 +197,7 @@
{
"name" : "water",
"required" : ["resolution"],
"optional" : ["tolerance", "cost", "local"],
"optional" : ["tolerance", "cost", "local", "initialconsumption"],
"icon" : "waterdrop.png",
"unit" : "l/h",
"interpreter" : "Volkszaehler\\Interpreter\\MeterInterpreter",
Expand Down

0 comments on commit 51c308e

Please sign in to comment.