frontend/src/components/tasks/partials/prioritySelect.vue

52 lines
1.2 KiB
Vue
Raw Normal View History

2019-11-24 13:16:24 +00:00
<template>
<div class="select">
<select :disabled="disabled || null" @change="updateData" v-model="priority">
<option :value="priorities.UNSET">{{ $t('task.priority.unset') }}</option>
<option :value="priorities.LOW">{{ $t('task.priority.low') }}</option>
<option :value="priorities.MEDIUM">{{ $t('task.priority.medium') }}</option>
<option :value="priorities.HIGH">{{ $t('task.priority.high') }}</option>
<option :value="priorities.URGENT">{{ $t('task.priority.urgent') }}</option>
<option :value="priorities.DO_NOW">{{ $t('task.priority.doNow') }}</option>
2019-11-24 13:16:24 +00:00
</select>
</div>
</template>
2022-02-15 12:07:34 +00:00
<script lang="ts">
import priorites from '../../../models/constants/priorities'
2019-11-24 13:16:24 +00:00
export default {
name: 'prioritySelect',
data() {
return {
priorities: priorites,
priority: 0,
}
},
props: {
modelValue: {
default: 0,
type: Number,
2019-11-24 13:16:24 +00:00
},
disabled: {
default: false,
2019-11-24 13:16:24 +00:00
},
},
emits: ['update:modelValue', 'change'],
watch: {
// Set the priority to the :value every time it changes from the outside
modelValue: {
handler(value) {
this.priority = value
},
immediate: true,
2019-11-24 13:16:24 +00:00
},
},
methods: {
updateData() {
this.$emit('update:modelValue', this.priority)
this.$emit('change')
2019-11-24 13:16:24 +00:00
},
},
}
2019-11-24 13:16:24 +00:00
</script>