Template
32 lines
870 B
TypeScript
32 lines
870 B
TypeScript
import { useWordStore } from "~/store/word.store";
|
|
import {
|
|
WordCreateEvent,
|
|
WordDeleteEvent,
|
|
WordDisableEvent,
|
|
WordEditEvent,
|
|
WordEnableEvent,
|
|
} from "../events/word.events";
|
|
|
|
export const handlers = {
|
|
create: (event: WordCreateEvent) => {
|
|
const wordStore = useWordStore();
|
|
wordStore.words[event.word.id] = event.word;
|
|
},
|
|
edit: (event: WordEditEvent) => {
|
|
const wordStore = useWordStore();
|
|
wordStore.words[event.word.id].value = event.word.value;
|
|
},
|
|
delete: (event: WordDeleteEvent) => {
|
|
const wordStore = useWordStore();
|
|
delete wordStore.words[event.id];
|
|
},
|
|
enable: (event: WordEnableEvent) => {
|
|
const wordStore = useWordStore();
|
|
wordStore.words[event.id].enabled = true;
|
|
},
|
|
disable: (event: WordDisableEvent) => {
|
|
const wordStore = useWordStore();
|
|
wordStore.words[event.id].enabled = false;
|
|
},
|
|
};
|