From 29aea22285f27b3d50804d827974b22b516a4314 Mon Sep 17 00:00:00 2001 From: Jeffrey Biles Date: Tue, 14 Apr 2020 06:13:41 -0700 Subject: [PATCH] Further composition api update: return hash to separate functions, rather than pre-hashing into emailSelection and returning --- src/composition/useEmailSelection.js | 42 +++++++++++++++------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/composition/useEmailSelection.js b/src/composition/useEmailSelection.js index 321308f..1e8d66c 100644 --- a/src/composition/useEmailSelection.js +++ b/src/composition/useEmailSelection.js @@ -13,29 +13,33 @@ export const useEmailSelection = function(){ const clear = () => { emails.clear(); } + const toggle = (id) => { + if(emails.has(id)) { + emails.delete(id) + } else { + emails.add(id); + } + } + const addMultiple = (emails) => { + emails.forEach(email => { + emails.add(email) + }) + } + const markRead = () => { forSelected(e => e.read = true )} + const markUnread = () => { forSelected(e => e.read = false )} + const archive = () => { forSelected(e => e.archived = true); clear();} + const moveToInbox = () => { forSelected(e => e.archived = false); clear();} - const emailSelection = { + return { emails, clear, - toggle(id) { - if(emails.has(id)) { - emails.delete(id) - } else { - emails.add(id); - } - }, - addMultiple(emails) { - emails.forEach(email => { - emails.add(email) - }) - }, - markRead(){ forSelected(e => e.read = true )}, - markUnread(){ forSelected(e => e.read = false )}, - archive(){ forSelected(e => e.archived = true); clear();}, - moveToInbox(){ forSelected(e => e.archived = false); clear();} + toggle, + addMultiple, + markRead, + markUnread, + archive, + moveToInbox } - - return emailSelection } export default useEmailSelection; \ No newline at end of file