mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-12 16:28:06 +00:00
47 lines
1.2 KiB
Vue
47 lines
1.2 KiB
Vue
<template>
|
|
<div class="control__elements">
|
|
<input
|
|
ref="input"
|
|
v-model="formattedValue"
|
|
:placeholder="field.duration_format"
|
|
type="text"
|
|
class="input field-duration"
|
|
:class="{
|
|
'input--error': touched && !valid,
|
|
}"
|
|
:disabled="readOnly"
|
|
@keypress="onKeyPress(field, $event)"
|
|
@keyup.enter="$refs.input.blur()"
|
|
@keyup="updateCopy(field, $event.target.value)"
|
|
@focus="select()"
|
|
@blur="unselect()"
|
|
/>
|
|
<div v-show="touched && !valid" class="error">
|
|
{{ error }}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import rowEditField from '@baserow/modules/database/mixins/rowEditField'
|
|
import rowEditFieldInput from '@baserow/modules/database/mixins/rowEditFieldInput'
|
|
import durationField from '@baserow/modules/database/mixins/durationField'
|
|
|
|
export default {
|
|
mixins: [rowEditField, rowEditFieldInput, durationField],
|
|
watch: {
|
|
'field.duration_format': {
|
|
handler() {
|
|
this.updateCopy(this.field, this.value)
|
|
this.updateFormattedValue(this.field, this.copy)
|
|
},
|
|
},
|
|
value: {
|
|
handler(newValue) {
|
|
this.updateCopy(this.field, newValue)
|
|
this.updateFormattedValue(this.field, this.copy)
|
|
},
|
|
},
|
|
},
|
|
}
|
|
</script>
|