Nextcloud-App/src/Ticket.vue

79 lines
1.5 KiB
Vue
Raw Normal View History

<template>
<div class="single-ticket">
2021-08-22 14:37:12 +00:00
<div class="header-bar">
2021-09-18 12:50:21 +00:00
<button @click="back">
2021-08-22 14:37:12 +00:00
{{ t('upschooling', 'Ticket Schließen') }}
</button>
2021-09-18 12:50:21 +00:00
<button @click="save">
2021-08-22 14:37:12 +00:00
{{ t('upschooling', 'Speichern') }}
</button>
</div>
<h2>Ticket "ding"</h2>
2021-09-19 14:55:30 +00:00
<KeyValueTable :data-rows="{Id: ticket.ticketId, Name: ticket.title, Status: ticket.status, Geaendert: toLocaleDate(ticket.lastModified)}" />
<br>
2021-08-22 14:37:12 +00:00
<label for="description">{{ t('upschooling', 'Beschreibung') }}</label>
<textarea id="description" v-model.trim.lazy="description" rows="15" />
2021-08-21 17:38:46 +00:00
<br>
2021-08-21 17:58:03 +00:00
<button @click="save">
2021-09-19 14:55:30 +00:00
{{ t('upschooling', 'Speichern') }}
2021-08-21 17:58:03 +00:00
</button>
2021-08-21 17:38:46 +00:00
<hr>
2021-08-22 14:37:12 +00:00
<div class="placeholder" />
</div>
</template>
<script>
2021-08-22 14:37:12 +00:00
import KeyValueTable from './components/KeyValueTable'
export default {
name: 'Ticket',
2021-08-22 14:37:12 +00:00
components: { KeyValueTable },
2021-09-18 12:50:21 +00:00
props: {
ticket: {
type: Object,
default() {
return {}
},
},
},
2021-08-21 17:58:03 +00:00
data() {
return {
2021-09-18 12:50:21 +00:00
description: this.ticket.description,
2021-08-21 17:58:03 +00:00
}
},
methods: {
2021-09-19 14:55:30 +00:00
toLocaleDate(timestamp) {
const date = new Date(timestamp)
return date.toLocaleString()
},
2021-09-18 12:50:21 +00:00
save() {
2021-09-19 14:55:30 +00:00
this.$emit('save-ticket', this.ticket.ticketId, {}) // TODO: give it only the changed data
2021-09-18 12:50:21 +00:00
},
back() {
this.$emit('show-ticket-list')
},
2021-08-21 17:58:03 +00:00
},
}
</script>
<style scoped>
textarea {
width: 100%;
2021-08-22 14:37:12 +00:00
margin: 0;
resize: vertical;
}
.placeholder {
height: 400px;
width: 100%;
background: #f0f0f0;
}
.header-bar {
display: flex;
width: 100%;
flex-direction: row-reverse;
}
</style>