101 lines
2.1 KiB
Vue
101 lines
2.1 KiB
Vue
<template>
|
|
<table
|
|
id="ticketlist"
|
|
class="list-container has-controls">
|
|
<thead>
|
|
<tr>
|
|
<th id="headerName" class="column-name">
|
|
<div id="headerName-container">
|
|
<a class="name sort columntitle" data-sort="name">
|
|
<span>Titel (#Ticket-Nummer)</span>
|
|
<span class="sort-indicator icon-triangle-n" />
|
|
</a>
|
|
</div>
|
|
</th>
|
|
<th id="headerStatus" class="column-status">
|
|
<a class="status sort columntitle" data-sort="status">
|
|
<span>Status</span>
|
|
<span class="sort-indicator hidden icon-triangle-s" />
|
|
</a>
|
|
</th>
|
|
<th id="headerDate" class="column-mtime">
|
|
<a id="modified" class="columntitle" data-sort="mtime">
|
|
<span>Geändert</span>
|
|
<span class="sort-indicator hidden icon-triangle-s" />
|
|
</a>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="tickettbody">
|
|
<tr v-for="item in tickets" :key="item.id">
|
|
<td class="filename ui-draggable ui-draggable-handle">
|
|
<a class="name" :href="'#ticket-' + item.id" @click="openTicket(item.id)">
|
|
<span class="nametext">
|
|
<span class="innernametext">{{ item.title }}</span>
|
|
<span class="ticket-number"> (<span class="icon icon-ticket" />#{{ item.id }})</span>
|
|
</span>
|
|
</a>
|
|
</td>
|
|
<td class="status">
|
|
{{ item.status }}
|
|
</td>
|
|
<td class="date">
|
|
<span
|
|
class="modified live-relative-timestamp"
|
|
title=""
|
|
data-timestamp="1628157115000"
|
|
style="color:rgb(81,81,81)"
|
|
data-original-title="5. August 2021 11:51">
|
|
vor 16 Tagen <!-- ToDo -->
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'TicketList',
|
|
props: {
|
|
tickets: {
|
|
type: Array,
|
|
default() {
|
|
return []
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
openTicket(ticketId) {
|
|
this.$emit('open-ticket', ticketId)
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
#ticketlist {
|
|
margin-top: 4rem;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
}
|
|
|
|
td {
|
|
border-bottom: solid #000 1px;
|
|
}
|
|
|
|
tr:nth-child(2n) {
|
|
background: #f0f0f0;
|
|
}
|
|
|
|
a .ticket-number {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
a:hover .ticket-number, a:focus .ticket-number, a:active .ticket-number {
|
|
opacity: 1;
|
|
}
|
|
</style>
|