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

7
js/app.js

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