Added an autofocus field to most forms

This commit is contained in:
Stefan Zermatten
2020-06-05 22:39:21 +02:00
parent dd4596851e
commit 986fe8fd93
22 changed files with 29 additions and 1 deletions

View File

@@ -93,6 +93,9 @@ export default {
this.safeValue = null;
this.$nextTick(() => this.safeValue = this.value);
},
focus(){
this.$refs.input.focus();
}
},
computed: {
errors(){

View File

@@ -1,5 +1,6 @@
<template lang="html">
<v-text-field
ref="input"
v-bind="$attrs"
:loading="loading"
:error-messages="errors"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div :class="attackForm ? 'attack-form' : 'action-form'">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div class="attribute-form">
<div class="layout column align-center">
<text-field
ref="focusFirst"
label="Base Value"
class="base-value-field"
hint="This is the value of the attribute before effects are applied"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="buff-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -12,6 +12,7 @@
</div>
<div class="layout row wrap">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div class="attribute-form">
<div class="layout row justify-space-between wrap">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div>
<div class="layout row">
<text-field
ref="focusFirst"
label="Damage"
style="flex-basis: 300px;"
:value="model.amount"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="attribute-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="effect-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="feature-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div class="folder-form">
<div class="layout row wrap">
<text-field
ref="focusFirst"
label="Name"
style="flex-basis: 300px;"
:value="model.name"

View File

@@ -20,6 +20,7 @@
</div>
<div class="layout row wrap">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="feature-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div>
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="roll-form">
<text-field
ref="focusFirst"
label="Roll"
:value="model.roll"
:error-messages="errors.roll"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="saving-throw-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div class="skill-form">
<div class="layout row wrap">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="attribute-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -2,6 +2,7 @@
<div class="attribute-form">
<div class="layout row wrap">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -1,6 +1,7 @@
<template lang="html">
<div class="feature-form">
<text-field
ref="focusFirst"
label="Name"
:value="model.name"
:error-messages="errors.name"

View File

@@ -9,6 +9,11 @@ export default {
default: () => ({}),
},
},
mounted(){
if (this.$refs.focusFirst){
setTimeout(() => this.$refs.focusFirst.focus(), 300);
}
},
methods: {
change(path, value, ack){
if (!Array.isArray(path)){
@@ -16,5 +21,5 @@ export default {
}
this.$emit('change', {path, value, ack});
}
}
},
}