Fix sun more info card

This commit is contained in:
Paulus Schoutsen 2015-08-23 19:35:20 -07:00
parent 82aca23a67
commit a82624e113
2 changed files with 29 additions and 32 deletions

View File

@ -4,18 +4,14 @@
<dom-module id="more-info-sun"> <dom-module id="more-info-sun">
<template> <template>
<div class='data-entry layout justified horizontal' id='rising'> <template is='dom-repeat' items='[[computeOrder(risingDate, settingDate)]]'>
<div class='key'> <div class='data-entry layout justified horizontal' id='rising'>
Rising <relative-ha-datetime datetime-obj="[[risingDate]]"></relative-ha-datetime> <div class='key'>
<span>[[itemCaption(item)]]</span>
<relative-ha-datetime datetime-obj="[[itemDate(item)]]"></relative-ha-datetime>
</div>
<div class='value'>[[itemValue(item)]]</div>
</div> </div>
<div class='value'>[[risingTime]]</div> </template>
</div>
<div class='data-entry layout justified horizontal' id='setting'>
<div class='key'>
Setting <relative-ha-datetime datetime-obj="[[settingDate]]"></relative-ha-datetime>
</div>
<div class='value'>[[settingTime]]</div>
</div>
</template> </template>
</dom-module> </dom-module>

View File

@ -10,39 +10,40 @@ export default new Polymer({
properties: { properties: {
stateObj: { stateObj: {
type: Object, type: Object,
observer: 'stateObjChanged',
}, },
risingDate: { risingDate: {
type: Object, type: Object,
computed: 'computeRising(stateObj)',
}, },
settingDate: { settingDate: {
type: Object, type: Object,
}, computed: 'computeSetting(stateObj)',
risingTime: {
type: String,
},
settingTime: {
type: String,
}, },
}, },
stateObjChanged() { computeRising(stateObj) {
this.risingDate = parseDateTime(this.stateObj.attributes.next_rising); return parseDateTime(stateObj.attributes.next_rising);
this.risingTime = formatTime(this.risingDate); },
this.settingDate = parseDateTime(this.stateObj.attributes.next_setting); computeSetting(stateObj) {
this.settingTime = formatTime(this.settingDate); return parseDateTime(stateObj.attributes.next_setting);
},
const root = Polymer.dom(this); computeOrder(risingDate, settingDate) {
return risingDate > settingDate ? ['set', 'ris'] : ['ris', 'set'];
},
if (self.risingDate > self.settingDate) { itemCaption(type) {
root.appendChild(this.$.rising); return type === 'ris' ? 'Rising ' : 'Setting ';
} else { },
root.appendChild(this.$.setting);
} itemDate(type) {
return type === 'ris' ? this.risingDate : this.settingDate;
},
itemValue(type) {
return formatTime(this.itemDate(type));
}, },
}); });