diff --git a/src/components/BulkActionBar.vue b/src/components/BulkActionBar.vue index 0860ee7..8b1960a 100644 --- a/src/components/BulkActionBar.vue +++ b/src/components/BulkActionBar.vue @@ -2,7 +2,8 @@
+ :class="[partialSelection ? 'partial-check' : '']" + @click="bulkSelect">
@@ -23,10 +24,19 @@ let partialSelection = computed(() => { return numberSelected.value > 0 && !allAreSelected.value; }) + + let bulkSelect = function(){ + if(allAreSelected.value) { + emailSelection.clear(); + } else { + emailSelection.addMultiple(emails) + } + } return { partialSelection, - allAreSelected + allAreSelected, + bulkSelect } }, props: { diff --git a/src/composition/useEmailSelection.js b/src/composition/useEmailSelection.js index de57bba..68ed23c 100644 --- a/src/composition/useEmailSelection.js +++ b/src/composition/useEmailSelection.js @@ -11,6 +11,14 @@ export const useEmailSelection = function(){ this.emails.add(id); } }, + clear(){ + this.emails.clear(); + }, + addMultiple(emails) { + emails.forEach(email => { + this.emails.add(email) + }) + }, }) return { emailSelection }