fix: send temp input only when blur, select value or press enter or tab key

Signed-off-by: Stefan Dej <meteyou@gmail.com>
This commit is contained in:
Stefan Dej 2022-01-05 15:13:43 +01:00
parent 97020863d2
commit 098c946dde
No known key found for this signature in database
GPG Key ID: 5D3A5823133D2246
2 changed files with 23 additions and 4 deletions

View File

@ -26,10 +26,13 @@
:items="items"
item-text="value"
type="number"
@change="setTemps"
attach
@keyup.enter="setTemps"
@keyup.tab="setTemps"
@change="changeValue"
@blur="onBlur"
hide-spin-buttons
></v-combobox>
>
</v-combobox>
</template>
<script lang="ts">
@ -49,6 +52,19 @@ export default class ToolInput extends Mixins(BaseMixin) {
@Prop({ type: String, required: true }) readonly attributeName!: string
@Prop({ type: Array, default: [] }) items!: number[]
changeValue(newVal: any) {
if (typeof newVal === 'object') {
this.setTemps()
}
}
onBlur(event: any) {
if ('target' in event && event.target && 'value' in event.target) {
this.value = event.target.value ?? this.value
this.setTemps()
}
}
setTemps(): void {
if (typeof this.value === 'object') this.value = this.value.value ?? 0
if (this.value === '') this.value = 0

View File

@ -23,12 +23,14 @@ export const getters: GetterTree<GuiPresetsState, any> = {
getPresetsFromHeater: state => (payload: { name: string }) => {
interface preset {
value: number
text: string
}
const output: preset[] = []
output.push({
value: 0
value: 0,
text: '0 °C'
})
if ('presets' in state) {
@ -42,6 +44,7 @@ export const getters: GetterTree<GuiPresetsState, any> = {
) {
output.push({
value: preset.values[payload.name].value,
text: preset.values[payload.name].value + ' °C'
})
}
})