var Chart = React.createClass({ getInitialState: function() { return {pointsIn: [], pointsOut: []}; }, componentDidMount: function() { this.buildPoints(this.props); }, componentWillReceiveProps: function(nextProps) { this.buildPoints(nextProps); }, buildPoints: function(props) { var maxDouble = this.calcMaxDouble(props.valuesIn, props.valuesOut) || 1, pointsIn = [], pointsOut = []; for (var i = 0; i < props.valuesIn.length; i++) { var normIn = Math.ceil(props.valuesIn[i] / maxDouble * props.height), normOut = Math.ceil(props.valuesOut[i] / maxDouble * props.height), pointIn = props.height/2 - normIn, pointOut = props.height/2 + normOut; pointsIn.push(pointIn); pointsOut.push(pointOut); } this.setState({pointsIn: pointsIn, pointsOut: pointsOut}); }, calcMaxDouble: function(a, b) { var doubleValue = 0; for (var i = 0; i < a.length; i++) { if (a[i] * 2 > doubleValue) { doubleValue = a[i] * 2; } if (b[i] * 2 > doubleValue) { doubleValue = b[i] * 2; } } return doubleValue * 1.2; }, buildPathD: function(points) { var d = ['M0,'+ this.props.height/2], missing = this.props.width - points.length; for (var i = 0; i < missing; i++) { d.push('L'+ i +','+ this.props.height/2); } for (var i = 0; i < points.length; i++) { d.push('L'+ missing+i +','+ points[i]); } d.push('L'+ this.props.width +','+ this.props.height/2, 'Z'); return d.join(' '); }, render: function() { var viewBox = [0, 0, this.props.width, this.props.height].join(' '); return ( ); } }); var QueuesList = React.createClass({ render: function(){ if (!this.props.isDataRecieved) { return (
Queue | Messages | Subscriptions |
---|