import React from 'react'; import { Theme, withStyles } from '@material-ui/core/styles'; import Grid from '@material-ui/core/Grid'; import cyan from '@material-ui/core/colors/cyan'; import { ResponsivePie } from '@nivo/pie'; import { defaultChartColor } from './theme'; import { PatternGraphData } from './graph'; const styles = (theme: Theme) => ({ pieChart: { margin: '0 auto', } }); type PatternPieChartProps = { classes: { patternTableWrapper: string, pieChart: string }, height?: number, data: PatternGraphData[] }; function PatternPieChart(props: PatternPieChartProps) { return (
({ id: p.name, label: p.name, value: p.value, color: p.color ? p.color: defaultChartColor }))} margin={{ top: 40, right: 80, bottom: 40, left: 80 }} innerRadius={0.5} padAngle={0.7} cornerRadius={3} colorBy={d => d.color as string} borderWidth={1} borderColor="inherit:darker(0.2)" radialLabelsSkipAngle={10} radialLabelsTextXOffset={6} radialLabelsTextColor="#333333" radialLabelsLinkOffset={0} radialLabelsLinkDiagonalLength={16} radialLabelsLinkHorizontalLength={24} radialLabelsLinkStrokeWidth={1} radialLabelsLinkColor="inherit" sliceLabel={(d) => `${d.value.toFixed(2)} hr`} slicesLabelsSkipAngle={10} slicesLabelsTextColor="#ffffff" animate={true} motionStiffness={90} motionDamping={15} tooltipFormat={v => `${v.toFixed(2)} hr`} />
); } export const StyledPatternPieChart = withStyles(styles)(PatternPieChart); type DoublePieChartProps = { classes: { patternTableWrapper: string, pieChart: string }, patternGraphData: PatternGraphData[], calendarGraphData: PatternGraphData[] }; function DoublePieChart(props: DoublePieChartProps) { return ( ); } export const AnalyzePieChart = withStyles(styles)(DoublePieChart);