Browse Source

final fix timeboxes

modals-to-spa
stingl 4 years ago
parent
commit
2e7cb7cfbb
  1. 20
      index.html
  2. 7
      js/app.js

20
index.html

@ -123,21 +123,27 @@ @@ -123,21 +123,27 @@
<div class="col-12">
Minuten:
</div>
<div class="col-4">
<!-- <div class="col">-->
<!-- <button type="button" class="btn btn-secondary ticket-action-button"-->
<!-- @click="startTimeBox(ticket, 1)">-->
<!-- <i class="far fa-play-circle"></i> 1-->
<!-- </button>-->
<!-- </div>-->
<div class="col">
<button type="button" class="btn btn-secondary ticket-action-button"
@click="startTimeBox(ticket, 15)">
<i class="far fa-play-circle"></i> 15
</button>
</div>
<div class="col-4">
<div class="col">
<button type="button" class="btn btn-secondary ticket-action-button"
@click="startTimeBox(ticket, 30)">
<i class="far fa-play-circle"></i> 30
</button>
</div>
<div class="col-4">
<div class="col">
<button type="button" class="btn btn-secondary ticket-action-button"
@click="startTimeBox(ticket, 60)">
<i class="far fa-play-circle"></i> 60
@ -149,7 +155,7 @@ @@ -149,7 +155,7 @@
<span class="float-end">{{ timeBoxTimeLeft(ticket) }} Minuten</span>
<span>Zeit übrig: </span>
</div>
<div class="col-12 text-center" v-if="timeBoxTimeLeft(ticket) < 1">
<div class="col-12 text-center" v-if="timeBoxTimeLeft(ticket) <= 0">
<h5 class="text-danger text-bold">Abgeschlossen</h5>
</div>
@ -167,9 +173,9 @@ @@ -167,9 +173,9 @@
</div>
<div class="col-md-12">
<button class="btn btn-secondary ticket-action-button" data-bs-dismiss="modal"
@click="archiveTicket(ticketIndex)" title="Archivieren">
<i class="fas fa-archive"></i>
<button class="btn btn-danger ticket-action-button"
@click="deleteTicket(ticketIndex)" title="Löschen">
<i class="fas fa-trash"></i>
</button>
</div>
</div>

7
js/app.js

@ -168,6 +168,7 @@ const TimeTrack = { @@ -168,6 +168,7 @@ const TimeTrack = {
this.updateStorage();
},
startTimeBox(ticket, minutes) {
Notification.requestPermission();
this.startTracking(ticket, false, minutes);
},
startTracking(ticket, individual = false, timeBoxMinutes = null) {
@ -327,16 +328,19 @@ const TimeTrack = { @@ -327,16 +328,19 @@ const TimeTrack = {
return number.indexOf('#') >= 0;
},
deleteTicket(index, archive = false) {
let message = '';
if (archive) {
let name = this.archive[index].number;
message = 'Ticket "' + name + '" wurde gelöscht';
this.archive.splice(index, 1);
} else {
let name = this.tickets[index].number;
message = 'Ticket "' + name + '" wurde gelöscht';
this.tickets.splice(index, 1);
}
iziToast.show({
message: 'Ticket "' + name + '" wurde gelöscht',
message: message,
color: 'blue'
});
@ -574,6 +578,7 @@ const TimeTrack = { @@ -574,6 +578,7 @@ const TimeTrack = {
this.tickets.forEach((ticket) => {
if (ticket.isTimeBox && vue.timeBoxTimeLeft(ticket) <= 0) {
vue.stopTracking(ticket);
alert('Zeit für "'+ticket.number+'" ist abgelaufen!');
if (Notification.permission) {
new Notification('Timebox zu Ende', {
body: 'Zeit für "'+ticket.number+'" ist abgelaufen!',