2018-09-05 17:49:21 -05:00
|
|
|
<template>
|
2018-09-13 14:51:41 -05:00
|
|
|
<div class="columns task-item-edit">
|
2018-09-05 17:49:21 -05:00
|
|
|
|
2018-09-13 14:51:41 -05:00
|
|
|
<div class="field column">
|
2018-09-05 17:49:21 -05:00
|
|
|
<label class="label is-small">Name</label>
|
|
|
|
<div class="control">
|
|
|
|
<input class="input is-small" type="text" placeholder="Name" v-model="taskItem.name" @keydown="inputKeydown" ref="nameInput">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-09-13 14:51:41 -05:00
|
|
|
<div class="field column">
|
2018-09-05 17:49:21 -05:00
|
|
|
<label class="label is-small">Quantity</label>
|
|
|
|
<div class="control">
|
|
|
|
<input class="input is-small" type="text" placeholder="Qty" v-model="taskItem.quantity" @keydown="inputKeydown">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-09-13 14:51:41 -05:00
|
|
|
<div class="field column">
|
2018-09-05 17:49:21 -05:00
|
|
|
<div class="control">
|
2018-09-06 18:16:13 -05:00
|
|
|
<button class="button is-primary" @click="save">Add</button>
|
2018-09-05 17:49:21 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
2024-10-02 14:34:50 -05:00
|
|
|
<script setup>
|
|
|
|
|
|
|
|
import { onMounted, useTemplateRef } from "vue";
|
|
|
|
|
|
|
|
const emit = defineEmits(["save"]);
|
|
|
|
const props = defineProps({
|
|
|
|
taskItem: {
|
|
|
|
required: true,
|
|
|
|
type: Object
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
const nameElement = useTemplateRef("nameInput");
|
|
|
|
|
|
|
|
onMounted(() => focus());
|
|
|
|
|
|
|
|
function inputKeydown(evt) {
|
|
|
|
switch (evt.key) {
|
|
|
|
case "Enter":
|
|
|
|
evt.preventDefault();
|
|
|
|
save();
|
2018-09-05 17:49:21 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-02 14:34:50 -05:00
|
|
|
function save() {
|
|
|
|
emit("save", props.taskItem);
|
|
|
|
}
|
|
|
|
|
|
|
|
function focus() {
|
|
|
|
nameElement.value.focus();
|
|
|
|
}
|
|
|
|
|
|
|
|
defineExpose({
|
|
|
|
focus
|
|
|
|
});
|
|
|
|
|
2018-09-05 17:49:21 -05:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
2018-09-13 14:51:41 -05:00
|
|
|
.task-item-edit {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2018-09-05 17:49:21 -05:00
|
|
|
</style>
|