Total Complexity | 1 |
Complexity/F | 0 |
Lines of Code | 31 |
Function Count | 0 |
Duplicated Lines | 0 |
Ratio | 0 % |
Coverage | 100% |
Changes | 0 |
1 | import { Card, CardHeader, CardBody, CardFooter } from 'reactstrap'; |
||
2 | import PropTypes from 'prop-types'; |
||
3 | import React from 'react'; |
||
4 | import DefaultChart from './DefaultChart'; |
||
5 | import './GraphCard.scss'; |
||
6 | |||
7 | 3 | const propTypes = { |
|
8 | title: PropTypes.oneOfType([ PropTypes.string, PropTypes.func ]), |
||
9 | footer: PropTypes.oneOfType([ PropTypes.string, PropTypes.node ]), |
||
10 | isBarChart: PropTypes.bool, |
||
11 | stats: PropTypes.object, |
||
12 | max: PropTypes.number, |
||
13 | highlightedStats: PropTypes.object, |
||
14 | highlightedLabel: PropTypes.string, |
||
15 | onClick: PropTypes.func, |
||
16 | }; |
||
17 | |||
18 | 3 | const GraphCard = ({ title, footer, ...rest }) => ( |
|
19 | 4 | <Card> |
|
20 | <CardHeader className="graph-card__header">{typeof title === 'function' ? title() : title}</CardHeader> |
||
21 | <CardBody> |
||
22 | <DefaultChart title={title} {...rest} /> |
||
23 | </CardBody> |
||
24 | {footer && <CardFooter className="graph-card__footer--sticky">{footer}</CardFooter>} |
||
25 | </Card> |
||
26 | ); |
||
27 | |||
28 | 3 | GraphCard.propTypes = propTypes; |
|
29 | |||
30 | export default GraphCard; |
||
31 |