diff options
author | Asaad Mahmood <Unknowngi@live.com> | 2015-10-28 18:04:27 +0500 |
---|---|---|
committer | Asaad Mahmood <Unknowngi@live.com> | 2015-10-28 18:04:27 +0500 |
commit | e104829dcd7ae8ea0d6ab87f341cf5c5f1b30a41 (patch) | |
tree | 769e7de1f1c12cc4d58d934709032bc1bcbdedc9 /web/react/components/admin_console/line_chart.jsx | |
parent | 179c4ea684af8d2a021cc6f0042bc4408f39b0bb (diff) | |
parent | c6f3361d3caf671ca64b798d5ac9eca97c387f9e (diff) | |
download | chat-e104829dcd7ae8ea0d6ab87f341cf5c5f1b30a41.tar.gz chat-e104829dcd7ae8ea0d6ab87f341cf5c5f1b30a41.tar.bz2 chat-e104829dcd7ae8ea0d6ab87f341cf5c5f1b30a41.zip |
Merge branch 'master' of https://github.com/mattermost/platform into ui-improvements
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 +}; |