diff --git a/components/chart/chart.js b/components/chart/chart.js index 4c97637873723ad935232b1f3f803f5b2550de5c..8f8a3f5d37018b81edc4ccfa9d9c0c1b58f06ce0 100644 --- a/components/chart/chart.js +++ b/components/chart/chart.js @@ -1,9 +1,12 @@ import React, { Component } from 'react' import { View, FlatList, ActivityIndicator } from 'react-native' import { LocalDate } from 'js-joda' -import YAxis, { makeHorizontalGrid } from './y-axis' + +import YAxis from './y-axis' import nfpLines from './nfp-lines' import DayColumn from './day-column' +import HorizontalGrid from './horizontal-grid' + import { getCycleDaysSortedByDate, getAmountOfCycleDays } from '../../db' import styles from './styles' import { scaleObservable } from '../../local-storage' @@ -131,8 +134,11 @@ export default class CycleChart extends Component { /> )} - {chartHeight && chartLoaded && - makeHorizontalGrid(this.columnHeight, this.symptomRowHeight) + {chartHeight && chartLoaded && ( + <HorizontalGrid + height={this.columnHeight} + startPosition={this.symptomRowHeight} + />) } {chartHeight && diff --git a/components/chart/horizontal-grid.js b/components/chart/horizontal-grid.js new file mode 100644 index 0000000000000000000000000000000000000000..e7cf7cc1b7fe7ee6f6d1cd72f60d998028121a35 --- /dev/null +++ b/components/chart/horizontal-grid.js @@ -0,0 +1,26 @@ +import React from 'react' +import PropTypes from 'prop-types' +import { View } from 'react-native' + +import { getTickPositions } from '../helpers/chart' + +import styles from './styles' + +const HorizontalGrid = ({ height, startPosition }) => { + return getTickPositions(height).map(tick => { + return ( + <View + top={startPosition + tick} + {...styles.horizontalGrid} + key={tick} + /> + ) + }) +} + +HorizontalGrid.propTypes = { + height: PropTypes.number, + startPosition: PropTypes.number, +} + +export default HorizontalGrid diff --git a/components/chart/y-axis.js b/components/chart/y-axis.js index 09a5210e84c2c4fdc3d3c822325c777446e7fe69..50abf63a4cf66b44d32d191da8300c18c484f600 100644 --- a/components/chart/y-axis.js +++ b/components/chart/y-axis.js @@ -2,26 +2,12 @@ import React from 'react' import PropTypes from 'prop-types' import { View } from 'react-native' -import { getTickPositions } from '../helpers/chart' - import SymptomIcon from './symptom-icon' import TickList from './tick-list' import ChartLegend from './chart-legend' import styles from './styles' -export function makeHorizontalGrid(columnHeight, symptomRowHeight) { - return getTickPositions(columnHeight).map(tick => { - return ( - <View - top={tick + symptomRowHeight} - {...styles.horizontalGrid} - key={tick} - /> - ) - }) -} - const YAxis = ({ height, symptomsToDisplay, symptomsSectionHeight }) => { const symptomIconHeight = symptomsSectionHeight / symptomsToDisplay.length return (