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:
parent
97020863d2
commit
098c946dde
@ -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
|
||||
|
@ -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'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user