diff options
author | Kurkó Mihály <kurkomisi@users.noreply.github.com> | 2017-12-21 23:54:38 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2017-12-21 23:54:38 +0800 |
commit | 9dbb8ef4aadb8e40aef8b681cf86acd20789abdc (patch) | |
tree | c020de9b45dffa878b1422dce147d9343ed8b59b /dashboard/assets/components/ChartGrid.jsx | |
parent | 52f4d6dd7891191a494f37faa6bce664e202da66 (diff) | |
download | go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar.gz go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar.bz2 go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar.lz go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar.xz go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.tar.zst go-tangerine-9dbb8ef4aadb8e40aef8b681cf86acd20789abdc.zip |
dashboard: integrate Flow, sketch message API (#15713)
* dashboard: minor design change
* dashboard: Flow integration, message API
* dashboard: minor polishes, exclude misspell linter
Diffstat (limited to 'dashboard/assets/components/ChartGrid.jsx')
-rw-r--r-- | dashboard/assets/components/ChartGrid.jsx | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dashboard/assets/components/ChartGrid.jsx b/dashboard/assets/components/ChartGrid.jsx new file mode 100644 index 000000000..45dde7499 --- /dev/null +++ b/dashboard/assets/components/ChartGrid.jsx @@ -0,0 +1,49 @@ +// @flow + +// Copyright 2017 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +import React, {Component} from 'react'; +import type {Node} from 'react'; + +import Grid from 'material-ui/Grid'; +import {ResponsiveContainer} from 'recharts'; + +export type Props = { + spacing: number, + children: Node, +}; +// ChartGrid renders a grid container for responsive charts. +// The children are Recharts components extended with the Material-UI's xs property. +class ChartGrid extends Component<Props> { + render() { + return ( + <Grid container spacing={this.props.spacing}> + { + React.Children.map(this.props.children, child => ( + <Grid item xs={child.props.xs}> + <ResponsiveContainer width="100%" height={child.props.height}> + {React.cloneElement(child, {data: child.props.values.map(value => ({value}))})} + </ResponsiveContainer> + </Grid> + )) + } + </Grid> + ); + } +} + +export default ChartGrid; |