UNPKG

react-native-charts-wrapper

Version:
205 lines (184 loc) 5.76 kB
import {PropTypes} from 'react'; import ChartDataSetConfig from './ChartDataSetConfig'; const lineData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.oneOfType([ PropTypes.shape({ x: PropTypes.number, y: PropTypes.number.isRequired, marker: PropTypes.string }), PropTypes.number ]) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.barLineScatterCandleBubble, ...ChartDataSetConfig.lineScatterCandleRadar, ...ChartDataSetConfig.lineRadar, circleRadius: PropTypes.number, drawCircles: PropTypes.bool, mode: PropTypes.string, drawCubicIntensity: PropTypes.number, circleColor: PropTypes.number, circleColors: PropTypes.arrayOf(PropTypes.number), circleHoleColor: PropTypes.number, drawCircleHole: PropTypes.bool, dashedLine: PropTypes.shape({ lineLength: PropTypes.number.isRequired, spaceLength: PropTypes.number.isRequired, phase: PropTypes.number, }) }) })) }) const barData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.oneOfType([ PropTypes.shape({ x: PropTypes.number, y: PropTypes.oneOfType([ PropTypes.number, PropTypes.arrayOf(PropTypes.number) ]), marker: PropTypes.string }), PropTypes.oneOfType([ PropTypes.number, PropTypes.arrayOf(PropTypes.number) ]) ]) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.barLineScatterCandleBubble, barShadowColor: PropTypes.number, highlightAlpha: PropTypes.number, // using android format (0-255), not ios format(0-1), the conversion is x/255 stackLabels: PropTypes.arrayOf(PropTypes.string) }) })), config: PropTypes.shape({ barWidth: PropTypes.number, group: PropTypes.shape({ fromX:PropTypes.number.isRequired, groupSpace:PropTypes.number.isRequired, barSpace: PropTypes.number.isRequired }) }) }) const bubbleData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf(PropTypes.shape({ x: PropTypes.number, y: PropTypes.number.isRequired, size: PropTypes.number.isRequired, marker: PropTypes.string, })), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.barLineScatterCandleBubble, }) })) }) const candleData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.shape({ x: PropTypes.number, shadowH: PropTypes.number.isRequired, shadowL: PropTypes.number.isRequired, open: PropTypes.number.isRequired, close: PropTypes.number.isRequired, marker: PropTypes.string, }) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.barLineScatterCandleBubble, ...ChartDataSetConfig.lineScatterCandleRadar, barSpace: PropTypes.number, shadowWidth: PropTypes.number, shadowColor: PropTypes.number, shadowColorSameAsCandle: PropTypes.bool, neutralColor: PropTypes.number, decreasingColor: PropTypes.number, decreasingPaintStyle: PropTypes.string, increasingColor: PropTypes.number, increasingPaintStyle: PropTypes.string }) })), }) const pieData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.oneOfType([ PropTypes.shape({ value: PropTypes.number.isRequired, label: PropTypes.string }), PropTypes.number ]) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, sliceSpace: PropTypes.number, selectionShift: PropTypes.number }) })), }) const radarData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.oneOfType([ PropTypes.shape({value: PropTypes.number.isRequired,}), PropTypes.number ]) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.lineScatterCandleRadar, ...ChartDataSetConfig.lineRadar }) })), labels: PropTypes.arrayOf(PropTypes.string) }) const scatterData = PropTypes.shape({ dataSets: PropTypes.arrayOf(PropTypes.shape({ values: PropTypes.arrayOf( PropTypes.oneOfType([ PropTypes.shape({ x: PropTypes.number, y: PropTypes.number.isRequired, marker: PropTypes.string, }), PropTypes.number ]) ), label: PropTypes.string, config: PropTypes.shape({ ...ChartDataSetConfig.common, ...ChartDataSetConfig.barLineScatterCandleBubble, ...ChartDataSetConfig.lineScatterCandleRadar, scatterShapeSize: PropTypes.number, scatterShape: PropTypes.oneOf(['SQUARE', 'CIRCLE', 'TRIANGLE', 'CROSS', 'X']), scatterShapeHoleColor: PropTypes.number, scatterShapeHoleRadius: PropTypes.number }) })) }) const combinedData = PropTypes.shape({ lineData: lineData, barData: barData, scatterData: scatterData, candleData: candleData, bubbleData: bubbleData }) export {lineData, barData, pieData, bubbleData, scatterData, candleData, radarData, combinedData};