implemented config option decimal symbol, align indoor elements vertical, add humidity support to nunjuck unit filter, do not display degree symbol for kelvin

This commit is contained in:
fewieden 2019-01-04 19:46:54 +01:00
parent 827fbfb78f
commit 5759ed3728
2 changed files with 35 additions and 21 deletions

View File

@ -4,31 +4,30 @@
<span class="wi wi-strong-wind dimmed"></span> <span class="wi wi-strong-wind dimmed"></span>
<span> <span>
{% if config.useBeaufort %} {% if config.useBeaufort %}
{{current.beaufortWindSpeed() | round}} {{ current.beaufortWindSpeed() | round }}
{% else %} {% else %}
{{current.windSpeed | round}} {{ current.windSpeed | round }}
{% endif %} {% endif %}
{% if config.showWindDirection %} {% if config.showWindDirection %}
<sup> <sup>
{% if config.showWindDirectionAsArrow %} {% if config.showWindDirectionAsArrow %}
<i class="fa fa-long-arrow-up" style="transform:rotate({{current.windDirection}}deg);"></i> <i class="fa fa-long-arrow-up" style="transform:rotate({{ current.windDirection }}deg);"></i>
{% else %} {% else %}
{{current.cardinalWindDirection() | translate}} {{ current.cardinalWindDirection() | translate }}
{% endif %} {% endif %}
&nbsp; &nbsp;
</sup> </sup>
{% endif %} {% endif %}
</span> </span>
{% if config.showHumidity and current.humidity %} {% if config.showHumidity and current.humidity %}
<span>{{ current.humidity }}</span><sup>&nbsp;<i class="wi wi-humidity humidityIcon"></i></sup> <span>{{ current.humidity | decimalSymbol }}</span><sup>&nbsp;<i class="wi wi-humidity humidityIcon"></i></sup>
{% endif %} {% endif %}
<span class="wi dimmed wi-{{current.nextSunAction()}}"></span> <span class="wi dimmed wi-{{ current.nextSunAction() }}"></span>
<span> <span>
{% if current.nextSunAction() == "sunset" %} {% if current.nextSunAction() == "sunset" %}
{{current.sunset | formatTime}} {{ current.sunset | formatTime }}
{% else %} {% else %}
{{current.sunrise | formatTime}} {{ current.sunrise | formatTime }}
{% endif %} {% endif %}
</span> </span>
</div> </div>
@ -36,31 +35,37 @@
<div class="large light"> <div class="large light">
<span class="wi weathericon wi-{{current.weatherType}}"></span> <span class="wi weathericon wi-{{current.weatherType}}"></span>
<span class="bright"> <span class="bright">
{{current.temperature | roundValue | unit("temperature")}} {{ current.temperature | roundValue | unit("temperature") | decimalSymbol }}
</span> </span>
</div>
<div class="normal light indoor">
{% if config.showIndoorTemperature and indoor.temperature %} {% if config.showIndoorTemperature and indoor.temperature %}
<span class="fa fa-home"></span> <div>
<span class="bright"> <span class="fa fa-home"></span>
{{indoor.temperature | roundValue | unit("temperature")}} <span class="bright">
</span> {{ indoor.temperature | roundValue | unit("temperature") | decimalSymbol }}
</span>
</div>
{% endif %} {% endif %}
{% if config.showIndoorHumidity and indoor.humidity %} {% if config.showIndoorHumidity and indoor.humidity %}
<span class="fa fa-tint"></span> <div>
<span class="bright"> <span class="fa fa-tint"></span>
{{indoor.humidity | roundValue}}% <span class="bright">
</span> {{ indoor.humidity | roundValue | unit("humidity") | decimalSymbol }}
</span>
</div>
{% endif %} {% endif %}
</div> </div>
{% if config.showFeelsLike and not config.onlyTemp %} {% if config.showFeelsLike and not config.onlyTemp %}
<div class="normal medium"> <div class="normal medium">
<span class="dimmed"> <span class="dimmed">
{{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") }} {{ "FEELS" | translate }} {{ current.feelsLike() | roundValue | unit("temperature") | decimalSymbol }}
</span> </span>
</div> </div>
{% endif %} {% endif %}
{% else %} {% else %}
<div class="dimmed light small"> <div class="dimmed light small">
{{"LOADING" | translate}} {{ "LOADING" | translate }}
</div> </div>
{% endif %} {% endif %}

View File

@ -30,6 +30,7 @@ Module.register("weather",{
lang: config.language, lang: config.language,
showHumidity: false, showHumidity: false,
degreeLabel: false, degreeLabel: false,
decimalSymbol: ".",
showIndoorTemperature: false, showIndoorTemperature: false,
showIndoorHumidity: false, showIndoorHumidity: false,
@ -184,7 +185,9 @@ Module.register("weather",{
this.nunjucksEnvironment().addFilter("unit", function (value, type) { this.nunjucksEnvironment().addFilter("unit", function (value, type) {
if (type === "temperature") { if (type === "temperature") {
value += "°"; if (this.config.units === "metric" || this.config.units === "imperial") {
value += "°";
}
if (this.config.degreeLabel) { if (this.config.degreeLabel) {
if (this.config.units === "metric") { if (this.config.units === "metric") {
value += "C"; value += "C";
@ -200,6 +203,8 @@ Module.register("weather",{
} else { } else {
value = `${value.toFixed(2)} ${this.config.units === "imperial" ? "in" : "mm"}`; value = `${value.toFixed(2)} ${this.config.units === "imperial" ? "in" : "mm"}`;
} }
} else if (type === "humidity") {
value += "%"
} }
return value; return value;
@ -208,5 +213,9 @@ Module.register("weather",{
this.nunjucksEnvironment().addFilter("roundValue", function(value) { this.nunjucksEnvironment().addFilter("roundValue", function(value) {
return this.roundValue(value); return this.roundValue(value);
}.bind(this)); }.bind(this));
this.nunjucksEnvironment().addFilter("decimalSymbol", function(value) {
return value.replace(/\./g, this.config.decimalSymbol);
}.bind(this));
} }
}); });