add sums prop for rain SensorWidget

master
Norwin 5 years ago
parent 19dc2e83e1
commit e05bf8fe5a

@ -13,6 +13,7 @@ var SensorWidget = React.createClass({
title: React.PropTypes.string, title: React.PropTypes.string,
lastReading: React.PropTypes.object, lastReading: React.PropTypes.object,
avgs: React.PropTypes.object, avgs: React.PropTypes.object,
sums: React.PropTypes.object,
plotData: React.PropTypes.array, plotData: React.PropTypes.array,
axisLineVal: React.PropTypes.number, axisLineVal: React.PropTypes.number,
axisLineMax: React.PropTypes.number, axisLineMax: React.PropTypes.number,
@ -25,7 +26,8 @@ var SensorWidget = React.createClass({
className, className,
fetching, fetched, fetching, fetched,
title, title,
lastReading, avgs, lastReading,
avgs, sums,
plotData, plotData,
axisLineVal, axisLineMax, axisLineMin, axisLineVal, axisLineMax, axisLineMin,
unit } = this.props; unit } = this.props;
@ -66,8 +68,21 @@ var SensorWidget = React.createClass({
</div> </div>
<div className='metrics'> <div className='metrics'>
<ul className='metrics__list'> <ul className='metrics__list'>
<li><strong>{avgs !== null ? numDisplay(avgs.today, 1, unit) : '--'}</strong> heute</li> {sums ? (<div>
<li><strong>{avgs !== null ? numDisplay(avgs.yesterday, 1, unit) : '--'}</strong> gestern</li> <li><strong>{numDisplay(sums.today, 1, unit)}</strong> heute</li>
<li><strong>{numDisplay(sums.yesterday, 1, unit)}</strong> gestern</li>
</div>
) : null}
{avgs ? (<div>
<li><strong>{numDisplay(avgs.today, 1, unit)}</strong> heute</li>
<li><strong>{numDisplay(avgs.yesterday, 1, unit)}</strong> gestern</li>
</div>) : null}
{!(avgs || sums) ? (<div>
<li><strong>--</strong></li>
<li><strong>--</strong></li>
</div>) : null}
</ul> </ul>
</div> </div>
</div> </div>

@ -115,12 +115,18 @@ var Home = React.createClass({
yesterday: _.meanBy(dataYesterday, 'value') yesterday: _.meanBy(dataYesterday, 'value')
}; };
let sums = {
today: _.sumBy(dataToday, 'value'),
yesterday: _.sumBy(dataYesterday, 'value')
};
let last = _.last(dataAll) || null; let last = _.last(dataAll) || null;
return { return {
data: dataAll, data: dataAll,
last, last,
avgs avgs,
sums,
}; };
}, },
@ -200,9 +206,9 @@ var Home = React.createClass({
lastReading={sensorPressureData.last} lastReading={sensorPressureData.last}
avgs={sensorPressureData.avgs} avgs={sensorPressureData.avgs}
plotData={sensorPressureData.data} plotData={sensorPressureData.data}
axisLineMax={1020} axisLineMax={1030}
axisLineVal={1010} axisLineVal={1000}
axisLineMin={980} axisLineMin={970}
unit=' hPa' unit=' hPa'
/> />
@ -226,10 +232,10 @@ var Home = React.createClass({
fetched={this.props.sensorRain.fetched} fetched={this.props.sensorRain.fetched}
title='Niederschlag' title='Niederschlag'
lastReading={sensorRainData.last} lastReading={sensorRainData.last}
avgs={sensorRainData.avgs} sums={sensorRainData.sums}
plotData={sensorRainData.data} plotData={sensorRainData.data}
axisLineMax={10} axisLineMax={1}
axisLineVal={5} axisLineVal={0.28}
axisLineMin={0} axisLineMin={0}
unit=' L/m² / 5 Min' unit=' L/m² / 5 Min'
/> />
@ -256,8 +262,8 @@ var Home = React.createClass({
lastReading={sensorWindSpeedData.last} lastReading={sensorWindSpeedData.last}
avgs={sensorWindSpeedData.avgs} avgs={sensorWindSpeedData.avgs}
plotData={sensorWindSpeedData.data} plotData={sensorWindSpeedData.data}
axisLineMax={90} axisLineMax={20}
axisLineVal={30} axisLineVal={10}
axisLineMin={0} axisLineMin={0}
unit=' km/h' unit=' km/h'
/> />
@ -298,7 +304,7 @@ var Home = React.createClass({
lastReading={sensorPm10Data.last} lastReading={sensorPm10Data.last}
avgs={sensorPm10Data.avgs} avgs={sensorPm10Data.avgs}
plotData={sensorPm10Data.data} plotData={sensorPm10Data.data}
axisLineMax={30} axisLineMax={25}
axisLineVal={10} axisLineVal={10}
axisLineMin={0} axisLineMin={0}
unit=' μg/m³' unit=' μg/m³'
@ -312,7 +318,7 @@ var Home = React.createClass({
lastReading={sensorPm25Data.last} lastReading={sensorPm25Data.last}
avgs={sensorPm25Data.avgs} avgs={sensorPm25Data.avgs}
plotData={sensorPm25Data.data} plotData={sensorPm25Data.data}
axisLineMax={30} axisLineMax={25}
axisLineVal={10} axisLineVal={10}
axisLineMin={0} axisLineMin={0}
unit=' μg/m³' unit=' μg/m³'

Loading…
Cancel
Save