Refactor lots of non-table functionality from MailTable to MailScreen

This commit is contained in:
Jeffrey Biles
2020-03-30 14:03:05 -07:00
parent b8dfde835e
commit e1cba79ad2
3 changed files with 54 additions and 28 deletions

View File

@@ -0,0 +1,41 @@
<template>
<h1>VMail Inbox</h1>
<BulkActionBar :emails="unarchivedEmails" />
<MailTable :emails="unarchivedEmails" />
</template>
<script>
import axios from 'axios';
import MailTable from '@/components/MailTable.vue';
import BulkActionBar from '@/components/BulkActionBar.vue';
export default {
async setup(){
let response = await axios.get('http://localhost:3000/emails');
let emails = response.data;
return { emails }
},
components: {
BulkActionBar,
MailTable
},
computed: {
sortedEmails(){
return this.emails.sort((e1, e2) => {
return e1.sentAt < e2.sentAt ? 1 : -1
})
},
unarchivedEmails(){
return this.sortedEmails.filter(e => !e.archived)
},
}
}
</script>
<style scoped>
</style>