From 97fe5fb497d0dc0b4e5a5120fb3cbe32d3377c14 Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Sat, 31 Mar 2018 18:55:04 +0200 Subject: [PATCH] Add snack bar store --- ui/src/stores/SnackBarStore.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 ui/src/stores/SnackBarStore.js diff --git a/ui/src/stores/SnackBarStore.js b/ui/src/stores/SnackBarStore.js new file mode 100644 index 0000000..2ae2e29 --- /dev/null +++ b/ui/src/stores/SnackBarStore.js @@ -0,0 +1,25 @@ +import {EventEmitter} from 'events'; +import dispatcher from './dispatcher'; + +class SnackBarStore extends EventEmitter { + messages = []; + + next() { + return this.messages.shift(); + } + + hasNext() { + return this.messages.length !== 0; + } + + handle(data) { + if (data.type === 'SNACK') { + this.messages.push(data.payload); + this.emit('change'); + } + } +} + +const store = new SnackBarStore(); +dispatcher.register(store.handle.bind(store)); +export default store;