Get previous temperature and fill it as placeholder

This commit is contained in:
Julia Friesel
2018-06-06 17:04:28 +02:00
committed by emelko
parent 2f58db84c8
commit d4633e0900
2 changed files with 24 additions and 10 deletions
+13 -7
View File
@@ -1,9 +1,8 @@
import realm from 'realm' import realm from 'realm'
let db let db
let bleedingDaysSortedByDate = []
let cycleDaysSortedbyDate = [] let cycleDaysSortedbyDate = []
let bleedingDaysSortedByDate = []
const TemperatureSchema = { const TemperatureSchema = {
name: 'Temperature', name: 'Temperature',
@@ -48,11 +47,8 @@ async function openDatabase() {
deleteRealmIfMigrationNeeded: true deleteRealmIfMigrationNeeded: true
}) })
bleedingDaysSortedByDate = db.objects('CycleDay').fil<<<<<<< 933b64056a13d04c3bfdebf531962b84d9daa4ce
// just for testing purposes, the highest temperature will be topmost
// because I was too layz to make a scroll view
cycleDaysSortedbyTempValueView = db.objects('CycleDay').filtered('temperature != null').sorted('temperature.value', true) tered('bleeding != null').sorted('date', true)
cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true) cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
} }
function saveTemperature(cycleDay, temperature) { function saveTemperature(cycleDay, temperature) {
@@ -79,10 +75,20 @@ function getOrCreateCycleDay(localDate) {
return result return result
} }
function getPreviousTemperature(cycleDay) {
const cycleDayIndex = cycleDaysSortedbyDate.findIndex(day => day === cycleDay)
const previousCycleDays = cycleDaysSortedbyDate.slice(cycleDayIndex + 1)
const winner = previousCycleDays.find(cycleDay => cycleDay.temperature)
if (!winner) return null
return winner.temperature.value
}
export { export {
cycleDaysSortedbyDate,
openDatabase, openDatabase,
saveTemperature, saveTemperature,
saveBleeding, saveBleeding,
getOrCreateCycleDay, getOrCreateCycleDay,
bleedingDaysSortedByDate bleedingDaysSortedByDate,
getPreviousTemperature
} }
+11 -3
View File
@@ -8,7 +8,7 @@ import {
} from 'react-native' } from 'react-native'
import styles from './styles' import styles from './styles'
import { saveTemperature } from './db' import { saveTemperature, getPreviousTemperature } from './db'
import { formatDateForViewHeader } from './format' import { formatDateForViewHeader } from './format'
import getCycleDay from './get-cycle-day' import getCycleDay from './get-cycle-day'
@@ -16,10 +16,18 @@ export default class Temp extends Component {
constructor(props) { constructor(props) {
super(props) super(props)
const cycleDay = props.navigation.state.params.cycleDay const cycleDay = props.navigation.state.params.cycleDay
console.log(cycleDay.temperature ? cycleDay.temperature.value : '') let initialValue
if(cycleDay.temperature) {
initialValue = cycleDay.temperature.toString()
} else {
const prevTemp = getPreviousTemperature(cycleDay)
initialValue = prevTemp ? prevTemp.toString() : ''
}
this.state = { this.state = {
cycleDay, cycleDay,
currentValue: cycleDay.temperature ? cycleDay.temperature.value.toString() : '', currentValue: initialValue,
exclude: cycleDay.temperature ? cycleDay.temperature.exclude : false exclude: cycleDay.temperature ? cycleDay.temperature.exclude : false
} }
} }