// @flow import React from 'react'; import RadarAxis from './RadarAxis'; import RadarRings from './RadarRings'; import type {RadarVariable} from './types'; import {radiusScales, forEachArray} from './utils'; type Props = { width: number, height: number, padding: number, variables: Array, domainMax: number, style?: {}, }; const defaultRadarStyle = { numRings: 4, axisColor: '#cdcdcd', ringColor: '#cdcdcd', }; export default function EmptyRadar(props: Props) { const {width, height, padding, variables, domainMax, style} = props; const {axisColor, ringColor, numRings} = {...defaultRadarStyle, ...style}; const innerHeight = height - padding * 2; const innerWidth = width - padding * 2; const radius = Math.min(innerWidth / 2, innerHeight / 2); const diameter = radius * 2; const scales = radiusScales(variables, domainMax, radius); const angleSliceRadians = Math.PI * 2 / variables.length; const offsetAngles = {}; forEachArray(variables, ({key}, i) => { offsetAngles[key] = angleSliceRadians * i; }); const backgroundScale = scales[variables[0].key]; const ticks = backgroundScale.ticks(numRings).slice(1); const tickFormat = backgroundScale.tickFormat(numRings); return ( {variables.map(({key, label}) => { return ( ); })} ); }