Add autosave for temperate
This commit is contained in:
@@ -63,19 +63,12 @@ export default class Temp extends SymptomView {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async onBackButtonPress() {
|
autoSave = () => {
|
||||||
if (typeof this.state.temperature != 'string' || this.state.temperature === '') {
|
if (typeof this.state.temperature != 'string' || this.state.temperature === '') {
|
||||||
this.deleteSymptomEntry()
|
this.deleteSymptomEntry()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const userWantsToSave = await this.warnUserIfTempOutOfRange()
|
|
||||||
if (!userWantsToSave) return true
|
|
||||||
|
|
||||||
this.saveTemperature()
|
|
||||||
}
|
|
||||||
|
|
||||||
saveTemperature = () => {
|
|
||||||
const dataToSave = {
|
const dataToSave = {
|
||||||
value: Number(this.state.temperature),
|
value: Number(this.state.temperature),
|
||||||
exclude: this.state.exclude,
|
exclude: this.state.exclude,
|
||||||
@@ -103,15 +96,14 @@ export default class Temp extends SymptomView {
|
|||||||
// it in a promise
|
// it in a promise
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
if (warningMsg) {
|
if (warningMsg) {
|
||||||
|
// we set this so the time picker doesn't open at the same time
|
||||||
|
this.warningAlertOpen = true
|
||||||
Alert.alert(
|
Alert.alert(
|
||||||
sharedLabels.warning,
|
sharedLabels.warning,
|
||||||
warningMsg,
|
warningMsg,
|
||||||
[
|
[
|
||||||
{ text: sharedLabels.cancel, onPress: () => {
|
{ text: sharedLabels.ok, onPress: () => {
|
||||||
resolve(false)
|
this.warningAlertOpen = false
|
||||||
}},
|
|
||||||
{ text: sharedLabels.save, onPress: () => {
|
|
||||||
resolve(true)
|
|
||||||
}}
|
}}
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@@ -154,6 +146,7 @@ export default class Temp extends SymptomView {
|
|||||||
onChangeText={this.setTemperature}
|
onChangeText={this.setTemperature}
|
||||||
keyboardType='numeric'
|
keyboardType='numeric'
|
||||||
maxLength={5}
|
maxLength={5}
|
||||||
|
onBlur={this.warnUserIfTempOutOfRange}
|
||||||
/>
|
/>
|
||||||
<AppText style={{ marginLeft: 5 }}>°C</AppText>
|
<AppText style={{ marginLeft: 5 }}>°C</AppText>
|
||||||
</View>
|
</View>
|
||||||
@@ -164,7 +157,13 @@ export default class Temp extends SymptomView {
|
|||||||
<View style={styles.framedSegmentInlineChildren}>
|
<View style={styles.framedSegmentInlineChildren}>
|
||||||
<AppTextInput
|
<AppTextInput
|
||||||
style={[styles.temperatureTextInput]}
|
style={[styles.temperatureTextInput]}
|
||||||
onFocus={this.showTimePicker}
|
onFocus={() => {
|
||||||
|
if (this.warningAlertOpen) {
|
||||||
|
Keyboard.dismiss()
|
||||||
|
} else {
|
||||||
|
this.showTimePicker()
|
||||||
|
}
|
||||||
|
}}
|
||||||
value={this.state.time}
|
value={this.state.time}
|
||||||
/>
|
/>
|
||||||
<DateTimePicker
|
<DateTimePicker
|
||||||
|
|||||||
Reference in New Issue
Block a user