From 77cf11aed719b970208e6b43e5a8940a3d35c47d Mon Sep 17 00:00:00 2001 From: stingl Date: Thu, 25 Nov 2021 11:47:18 +0100 Subject: [PATCH] implement reverse push; --- js/app.js | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/js/app.js b/js/app.js index 892a442..e2c810d 100644 --- a/js/app.js +++ b/js/app.js @@ -1,3 +1,7 @@ +Array.prototype.pushToBeginning = function (toPush) { + return this.unshift.apply(this, [toPush]); +} + const TimeTrack = { data() { return { @@ -156,7 +160,7 @@ const TimeTrack = { this.updateStorage(); }, createTracker() { - this.tickets.push({ + this.tickets.pushToBeginning({ tracking: false, number: '#', trackingStarted: null, @@ -167,7 +171,7 @@ const TimeTrack = { this.updateStorage(); }, createTimeBox() { - this.tickets.push({ + this.tickets.pushToBeginning({ tracking: false, number: 'Timebox ', trackingStarted: null, @@ -229,7 +233,7 @@ const TimeTrack = { } } - ticket.history.push(historyEntry); + ticket.history.pushToBeginning(historyEntry); } ticket.trackingStarted = null; @@ -376,7 +380,7 @@ const TimeTrack = { Object.assign(restoredTracker, this.trashed); this.trashed = {}; - this.tickets.push(restoredTracker); + this.tickets.pushToBeginning(restoredTracker); this.updateStorage(); }, archiveTracker(index) { @@ -384,12 +388,12 @@ const TimeTrack = { this.stopActiveTracker(); } - this.archive.push(this.tickets[index]); + this.archive.pushToBeginning(this.tickets[index]); this.tickets.splice(index, 1); this.updateStorage(); }, reactivateTicket(index) { - this.tickets.push(this.archive[index]); + this.tickets.pushToBeginning(this.archive[index]); this.archive.splice(index, 1); this.updateStorage(); }, @@ -402,7 +406,7 @@ const TimeTrack = { this.updateStorage(); }, bookTimeManually(ticket, minutes) { - ticket.history.push({ + ticket.history.pushToBeginning({ trackingStarted: moment(), trackingStopped: moment(), manually: true, @@ -440,9 +444,9 @@ const TimeTrack = { ticketCollection.forEach((ticket) => { if (ticket.archived || (ticket.active && ticket.active === false)) { - archive.push(ticket); + archive.pushToBeginning(ticket); } else { - tickets.push(ticket) + tickets.pushToBeginning(ticket) } }); @@ -530,7 +534,7 @@ const TimeTrack = { if (existingEntry) { existingEntry.minutes = Number(existingEntry.minutes) + Number(newEntry.minutes); } else { - collection.push(newEntry); + collection.pushToBeginning(newEntry); } } }); @@ -548,7 +552,7 @@ const TimeTrack = { if (existingEntry) { existingEntry.minutes = Number(existingEntry.minutes) + Number(newEntry.minutes); } else { - collection.push(newEntry); + collection.pushToBeginning(newEntry); } } }); @@ -609,7 +613,7 @@ const TimeTrack = { id: getRandomID() }; - this.snippets.push(newSnippet); + this.snippets.pushToBeginning(newSnippet); this.loadSnippet(this.snippets[this.snippets.length-1]); this.updateStorage(); }, @@ -696,7 +700,7 @@ const TimeTrack = { this.selectedTracker.tasks = []; } - this.selectedTracker.tasks.push({ + this.selectedTracker.tasks.pushToBeginning({ name: this.newTaskInput, done: false, created: moment(),