mirror of
https://github.com/kevin-DL/build-gmail-clone-with-vue-3.git
synced 2026-01-18 13:35:07 +00:00
Bare app - remove everything except styling, db.json, and packages
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
import { ref, reactive } from 'vue';
|
||||
|
||||
let emails = new Set();
|
||||
export const useEmailSelection = function(){
|
||||
|
||||
let emailSelection = reactive({
|
||||
emails: emails,
|
||||
toggle(id) {
|
||||
if(this.emails.has(id)) {
|
||||
this.emails.delete(id)
|
||||
} else {
|
||||
this.emails.add(id);
|
||||
}
|
||||
},
|
||||
clear(){
|
||||
this.emails.clear();
|
||||
},
|
||||
addMultiple(emails) {
|
||||
emails.forEach(email => {
|
||||
this.emails.add(email)
|
||||
})
|
||||
},
|
||||
forSelected(fn){
|
||||
this.emails.forEach(email => {
|
||||
fn(email)
|
||||
})
|
||||
},
|
||||
markRead(){ this.forSelected(e => e.read = true )},
|
||||
markUnread(){ this.forSelected(e => e.read = false )},
|
||||
archive(){ this.forSelected(e => e.archived = true); this.clear();},
|
||||
moveToInbox(){ this.forSelected(e => e.archived = false); this.clear();}
|
||||
})
|
||||
|
||||
return {
|
||||
emailSelection,
|
||||
}
|
||||
}
|
||||
|
||||
export default useEmailSelection;
|
||||
Reference in New Issue
Block a user