From 5759ed3728b1329502e0dbfffa109caa5e69473b Mon Sep 17 00:00:00 2001 From: fewieden Date: Fri, 4 Jan 2019 19:46:54 +0100 Subject: [PATCH] implemented config option decimal symbol, align indoor elements vertical, add humidity support to nunjuck unit filter, do not display degree symbol for kelvin --- modules/default/weather/current.njk | 45 ++++++++++++++++------------- modules/default/weather/weather.js | 11 ++++++- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/modules/default/weather/current.njk b/modules/default/weather/current.njk index aed51ac6..55720e23 100644 --- a/modules/default/weather/current.njk +++ b/modules/default/weather/current.njk @@ -4,31 +4,30 @@ {% if config.useBeaufort %} - {{current.beaufortWindSpeed() | round}} + {{ current.beaufortWindSpeed() | round }} {% else %} - {{current.windSpeed | round}} + {{ current.windSpeed | round }} {% endif %} - {% if config.showWindDirection %} {% if config.showWindDirectionAsArrow %} - + {% else %} - {{current.cardinalWindDirection() | translate}} + {{ current.cardinalWindDirection() | translate }} {% endif %}   {% endif %} {% if config.showHumidity and current.humidity %} - {{ current.humidity }}  + {{ current.humidity | decimalSymbol }}  {% endif %} - + {% if current.nextSunAction() == "sunset" %} - {{current.sunset | formatTime}} + {{ current.sunset | formatTime }} {% else %} - {{current.sunrise | formatTime}} + {{ current.sunrise | formatTime }} {% endif %} @@ -36,31 +35,37 @@
- {{current.temperature | roundValue | unit("temperature")}} + {{ current.temperature | roundValue | unit("temperature") | decimalSymbol }} +
+
{% if config.showIndoorTemperature and indoor.temperature %} - - - {{indoor.temperature | roundValue | unit("temperature")}} - +
+ + + {{ indoor.temperature | roundValue | unit("temperature") | decimalSymbol }} + +
{% endif %} {% if config.showIndoorHumidity and indoor.humidity %} - - - {{indoor.humidity | roundValue}}% - +
+ + + {{ indoor.humidity | roundValue | unit("humidity") | decimalSymbol }} + +
{% endif %}
{% if config.showFeelsLike and not config.onlyTemp %}
- {{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") }} + {{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") | decimalSymbol }}
{% endif %} {% else %}
- {{"LOADING" | translate}} + {{ "LOADING" | translate }}
{% endif %} diff --git a/modules/default/weather/weather.js b/modules/default/weather/weather.js index eff3f90e..52e9cfee 100644 --- a/modules/default/weather/weather.js +++ b/modules/default/weather/weather.js @@ -30,6 +30,7 @@ Module.register("weather",{ lang: config.language, showHumidity: false, degreeLabel: false, + decimalSymbol: ".", showIndoorTemperature: false, showIndoorHumidity: false, @@ -184,7 +185,9 @@ Module.register("weather",{ this.nunjucksEnvironment().addFilter("unit", function (value, type) { if (type === "temperature") { - value += "°"; + if (this.config.units === "metric" || this.config.units === "imperial") { + value += "°"; + } if (this.config.degreeLabel) { if (this.config.units === "metric") { value += "C"; @@ -200,6 +203,8 @@ Module.register("weather",{ } else { value = `${value.toFixed(2)} ${this.config.units === "imperial" ? "in" : "mm"}`; } + } else if (type === "humidity") { + value += "%" } return value; @@ -208,5 +213,9 @@ Module.register("weather",{ this.nunjucksEnvironment().addFilter("roundValue", function(value) { return this.roundValue(value); }.bind(this)); + + this.nunjucksEnvironment().addFilter("decimalSymbol", function(value) { + return value.replace(/\./g, this.config.decimalSymbol); + }.bind(this)); } });