From fbc231daa8df268410161731ea670ea6d174d628 Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Sun, 29 Mar 2020 21:14:47 -0700 Subject: [PATCH] Action bar + keyboard shortcuts on mail view --- src/components/MailTable.vue | 23 ++++++++++++++++++++--- src/components/MailView.vue | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/src/components/MailTable.vue b/src/components/MailTable.vue index b23ee3c..fbf5f13 100644 --- a/src/components/MailTable.vue +++ b/src/components/MailTable.vue @@ -19,7 +19,9 @@ - + @@ -56,13 +58,28 @@ }, methods: { openEmail(email){ - email.read = true - axios.put(`http://localhost:3000/emails/${email.id}`, email) this.openedEmail = email; + + if(email) { + email.read = true + axios.put(`http://localhost:3000/emails/${email.id}`, email) + } }, archiveEmail(email){ email.archived = true; axios.put(`http://localhost:3000/emails/${email.id}`, email) + }, + changeEmail(email, {indexChange, toggleArchive, toggleRead, save, closeModal}) { + if(toggleArchive) { email.archived = !email.archived } + if(toggleRead) { email.read = !email.read } + if(save) { axios.put(`http://localhost:3000/emails/${email.id}`, email) } + if(closeModal) { this.openedEmail = null; return null; } + + if(indexChange) { + let emails = this.unarchivedEmails + let index = emails.findIndex(e => e == email); + this.openEmail(emails[index + indexChange]) + } } } } diff --git a/src/components/MailView.vue b/src/components/MailView.vue index 685a001..3d8dff0 100644 --- a/src/components/MailView.vue +++ b/src/components/MailView.vue @@ -1,5 +1,12 @@