'use strict'; import React from 'react'; import ChartLine from './charts/chart-line'; import { numDisplay, formatDate } from '../utils/format'; var SensorWidget = React.createClass({ displayName: 'SensorWidget', propTypes: { fetching: React.PropTypes.bool, fetched: React.PropTypes.bool, className: React.PropTypes.string, title: React.PropTypes.string, lastReading: React.PropTypes.object, avgs: React.PropTypes.object, sums: React.PropTypes.object, plotData: React.PropTypes.array, axisLineVal: React.PropTypes.number, axisLineMax: React.PropTypes.number, axisLineMin: React.PropTypes.number, unit: React.PropTypes.string }, render: function () { let { className, fetching, fetched, title, lastReading, avgs, sums, plotData, axisLineVal, axisLineMax, axisLineMin, unit } = this.props; if (!fetched && !fetching) { return null; } return (

{title} {fetching ? '...' : null}

Last update
{lastReading !== null ? formatDate(lastReading.timestep) : '--'}
Current temperature
{lastReading !== null ? numDisplay(lastReading.value, 1) : '--'}{unit}
{plotData.length ? (
) : null} {!plotData.length ?

{fetching ? 'Lade Daten...' : 'Keine Daten verfügbar'}

: null}
    {sums ? (
  • {numDisplay(sums.today, 1, unit)} ∑ heute
  • {numDisplay(sums.yesterday, 1, unit)} ∑ gestern
  • ) : null} {avgs ? (
  • {numDisplay(avgs.today, 1, unit)} ∅ heute
  • {numDisplay(avgs.yesterday, 1, unit)} ∅ gestern
  • ) : null} {!(avgs || sums) ? (
  • --
  • --
  • ) : null}
); } }); module.exports = SensorWidget;