From 26d6e7f4a1d1c286461286f9c86d701504cb2244 Mon Sep 17 00:00:00 2001 From: Julia Friesel Date: Wed, 20 Jun 2018 16:02:08 +0200 Subject: [PATCH] Exclude data for future dates --- chart.js | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/chart.js b/chart.js index c9f0f65..f3eb165 100644 --- a/chart.js +++ b/chart.js @@ -64,24 +64,26 @@ export default class CycleChart extends Component { } placeBleedingSymbolsOnColumns() { - return bleedingDaysSortedByDate.map(day => { - // TODO handle no bleeding days, same for curve - // TODO exclude future bleeding days (??) - const match = this.xAxisTicks.find(tick => { - return tick.label === day.date + return bleedingDaysSortedByDate + .filter(cycleDayIsNotInTheFuture()) + .map(day => { + const match = this.xAxisTicks.find(tick => { + return tick.label === day.date + }) + const x = match.rightOffset + columnWidth / 2 + return () }) - const x = match.rightOffset + columnWidth / 2 - return () - }) } determineCurvePoints() { - return temperatureDaysSortedByDate.map(cycleDay => { - const match = this.xAxisTicks.find(tick => tick.label === cycleDay.date) - const x = match.rightOffset + columnWidth / 2 - const y = normalizeToScale(cycleDay.temperature.value) - return [x, y].join() - }).join(' ') + return temperatureDaysSortedByDate + .filter(cycleDayIsNotInTheFuture()) + .map(cycleDay => { + const match = this.xAxisTicks.find(tick => tick.label === cycleDay.date) + const x = match.rightOffset + columnWidth / 2 + const y = normalizeToScale(cycleDay.temperature.value) + return [x, y].join() + }).join(' ') } componentDidMount() { @@ -154,4 +156,12 @@ function normalizeToScale(temp) { const valueRelativeToScale = (temperatureScale.high - temp) / (temperatureScale.high - temperatureScale.low) const scaleHeight = bottom - top return scaleHeight * valueRelativeToScale +} + +function cycleDayIsNotInTheFuture() { + const today = LocalDate.now() + return function (cycleDay) { + const cycleDayLocalDate = LocalDate.parse(cycleDay.date) + return cycleDayLocalDate.isBefore(today) || cycleDayLocalDate.isEqual(today) + } } \ No newline at end of file