|
|
@ -217,14 +217,40 @@ const TimeTrack = { |
|
|
|
importData() { |
|
|
|
importData() { |
|
|
|
let json = JSON.parse(this.inputs.importJson); |
|
|
|
let json = JSON.parse(this.inputs.importJson); |
|
|
|
|
|
|
|
|
|
|
|
this.tickets = json.tickets; |
|
|
|
if (json.trackedTickets) { |
|
|
|
this.archive = json.archive; |
|
|
|
this.tickets = this.extractTicketsFromLegacyJson(json.trackedTickets); |
|
|
|
this.ticketSystemUrl = json.ticketSystemUrl; |
|
|
|
this.archived = this.extractArchivedTicketsFromLegacyJson(json.trackedTickets); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.tickets = json.tickets; |
|
|
|
|
|
|
|
this.archive = json.archive ?? []; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.ticketSystemUrl = json.redmineUrl ?? json.ticketSystemUrl; |
|
|
|
this.showPT = json.showPT; |
|
|
|
this.showPT = json.showPT; |
|
|
|
this.theme = json.theme; |
|
|
|
this.theme = json.theme; |
|
|
|
this.updateStorage(); |
|
|
|
this.updateStorage(); |
|
|
|
location.reload(); |
|
|
|
location.reload(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
extractTicketsFromLegacyJson(tickets) { |
|
|
|
|
|
|
|
return this.extractTickets(tickets); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
extractArchivedTicketsFromLegacyJson(tickets) { |
|
|
|
|
|
|
|
return this.extractTickets(tickets, true); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
extractTickets(ticketCollection, forArchive = false) { |
|
|
|
|
|
|
|
let tickets = []; |
|
|
|
|
|
|
|
let archive = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ticketCollection.forEach((ticket) => { |
|
|
|
|
|
|
|
if (ticket.archived || (ticket.active && ticket.active === false)) { |
|
|
|
|
|
|
|
archive.push(ticket); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
tickets.push(ticket) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return forArchive ? archive : tickets; |
|
|
|
|
|
|
|
}, |
|
|
|
copy2Clipboard() { |
|
|
|
copy2Clipboard() { |
|
|
|
let copyText = document.getElementById("exportJsonInput"); |
|
|
|
let copyText = document.getElementById("exportJsonInput"); |
|
|
|
|
|
|
|
|
|
|
|