diff options
author | =Corey Hulen <corey@hulen.com> | 2015-10-23 16:56:26 -0700 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2015-10-23 16:56:26 -0700 |
commit | 473221dbada7ad7739d6a969d9d3d5c9c276941b (patch) | |
tree | 91676813df121bc9eeba88be9eeb7d55ca9b2f08 /web/react/components/admin_console/line_chart.jsx | |
parent | 028657b43ed7d6e2b0adca322e2d47781c1b3eb4 (diff) | |
download | chat-473221dbada7ad7739d6a969d9d3d5c9c276941b.tar.gz chat-473221dbada7ad7739d6a969d9d3d5c9c276941b.tar.bz2 chat-473221dbada7ad7739d6a969d9d3d5c9c276941b.zip |
PLT-25 adding analytics panel
Diffstat (limited to 'web/react/components/admin_console/line_chart.jsx')
-rw-r--r-- | web/react/components/admin_console/line_chart.jsx | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/web/react/components/admin_console/line_chart.jsx b/web/react/components/admin_console/line_chart.jsx new file mode 100644 index 000000000..7e2f95c84 --- /dev/null +++ b/web/react/components/admin_console/line_chart.jsx @@ -0,0 +1,50 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +export default class LineChart extends React.Component { + constructor(props) { + super(props); + + this.initChart = this.initChart.bind(this); + this.chart = null; + } + + componentDidMount() { + this.initChart(this.props); + } + + componentWillReceiveProps(nextProps) { + if (this.chart) { + this.chart.destroy(); + this.initChart(nextProps); + } + } + + componentWillUnmount() { + if (this.chart) { + this.chart.destroy(); + } + } + + initChart(props) { + var el = ReactDOM.findDOMNode(this); + var ctx = el.getContext('2d'); + this.chart = new Chart(ctx).Line(props.data, props.options || {}); //eslint-disable-line new-cap + } + + render() { + return ( + <canvas + width={this.props.width} + height={this.props.height} + /> + ); + } +} + +LineChart.propTypes = { + width: React.PropTypes.string, + height: React.PropTypes.string, + data: React.PropTypes.object, + options: React.PropTypes.object +}; |