From 7c63aa3708a09b997575cb85cb6dfaaa41082fab Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 2 Jun 2016 21:12:59 -0700 Subject: web: reduxify WebSocket --- web/src/js/ducks/flows.js | 15 +++++++++++++++ web/src/js/ducks/index.js | 8 ++++++-- web/src/js/ducks/websocket.js | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 web/src/js/ducks/flows.js create mode 100644 web/src/js/ducks/websocket.js (limited to 'web/src/js/ducks') diff --git a/web/src/js/ducks/flows.js b/web/src/js/ducks/flows.js new file mode 100644 index 00000000..c4077f7a --- /dev/null +++ b/web/src/js/ducks/flows.js @@ -0,0 +1,15 @@ +const defaultState = { + list: [], + isFetching: false, + updateBeforeFetch: [], + byId: {}, + indexOf: {}, + views: {} +} + +export default function reducer(state = defaultState, action) { + switch (action.type) { + default: + return state + } +} diff --git a/web/src/js/ducks/index.js b/web/src/js/ducks/index.js index c82d42bb..0074bda4 100644 --- a/web/src/js/ducks/index.js +++ b/web/src/js/ducks/index.js @@ -1,8 +1,12 @@ import {combineReducers} from 'redux' -import eventLog from './eventLog.js'; +import eventLog from './eventLog.js' +import websocket from './websocket.js' +import flows from './flows.js' const rootReducer = combineReducers({ - eventLog + eventLog, + flows, + websocket, }) export default rootReducer \ No newline at end of file diff --git a/web/src/js/ducks/websocket.js b/web/src/js/ducks/websocket.js new file mode 100644 index 00000000..281d1f2c --- /dev/null +++ b/web/src/js/ducks/websocket.js @@ -0,0 +1,34 @@ +const CONNECTED = 'WEBSOCKET_CONNECTED' +const DISCONNECTED = 'WEBSOCKET_DISCONNECTED' +const RECEIVE_MESSAGE = 'RECEIVE_WEBSOCKET_MESSAGE' + + +const defaultState = { + connected: true, + /* we may want to have an error message attribute here at some point */ +} +export default function reducer(state = defaultState, action) { + switch (action.type) { + case CONNECTED: + return { + connected: true + } + case DISCONNECTED: + return { + connected: false + } + default: + return state + } +} + + +export function connected() { + return {type: CONNECTED} +} +export function disconnected() { + return {type: DISCONNECTED} +} +export function receiveMessage(message) { + return {type: RECEIVE_MESSAGE, message} +} \ No newline at end of file -- cgit v1.2.3