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"
|
:items="items"
|
||||||
item-text="value"
|
item-text="value"
|
||||||
type="number"
|
type="number"
|
||||||
@change="setTemps"
|
@keyup.enter="setTemps"
|
||||||
attach
|
@keyup.tab="setTemps"
|
||||||
|
@change="changeValue"
|
||||||
|
@blur="onBlur"
|
||||||
hide-spin-buttons
|
hide-spin-buttons
|
||||||
></v-combobox>
|
>
|
||||||
|
</v-combobox>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
@ -49,6 +52,19 @@ export default class ToolInput extends Mixins(BaseMixin) {
|
|||||||
@Prop({ type: String, required: true }) readonly attributeName!: string
|
@Prop({ type: String, required: true }) readonly attributeName!: string
|
||||||
@Prop({ type: Array, default: [] }) items!: number[]
|
@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 {
|
setTemps(): void {
|
||||||
if (typeof this.value === 'object') this.value = this.value.value ?? 0
|
if (typeof this.value === 'object') this.value = this.value.value ?? 0
|
||||||
if (this.value === '') this.value = 0
|
if (this.value === '') this.value = 0
|
||||||
|
@ -23,12 +23,14 @@ export const getters: GetterTree<GuiPresetsState, any> = {
|
|||||||
getPresetsFromHeater: state => (payload: { name: string }) => {
|
getPresetsFromHeater: state => (payload: { name: string }) => {
|
||||||
interface preset {
|
interface preset {
|
||||||
value: number
|
value: number
|
||||||
|
text: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const output: preset[] = []
|
const output: preset[] = []
|
||||||
|
|
||||||
output.push({
|
output.push({
|
||||||
value: 0
|
value: 0,
|
||||||
|
text: '0 °C'
|
||||||
})
|
})
|
||||||
|
|
||||||
if ('presets' in state) {
|
if ('presets' in state) {
|
||||||
@ -42,6 +44,7 @@ export const getters: GetterTree<GuiPresetsState, any> = {
|
|||||||
) {
|
) {
|
||||||
output.push({
|
output.push({
|
||||||
value: preset.values[payload.name].value,
|
value: preset.values[payload.name].value,
|
||||||
|
text: preset.values[payload.name].value + ' °C'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user