joyent-portal/spikes/graphs-topology/d3/client/store.js
2017-02-06 16:11:01 +00:00

27 lines
557 B
JavaScript

const takeRight = require('lodash.takeright');
const redux = require('redux');
const {
createStore,
compose,
combineReducers,
applyMiddleware
} = redux;
const reducer = (state, action) => {
if (action.type !== 'UPDATE_STATS') {
return state;
}
const data = (state.data || []).concat([action.payload]);
return {
...state,
data: takeRight(data, 50)
};
};
module.exports = (state = Object.freeze({})) => {
return createStore(reducer, state, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());
};