diff --git a/src/lib/vm-listener-hoc.jsx b/src/lib/vm-listener-hoc.jsx index a4bc41e0b8d6a2091109cda5e9529fb966fb6fbc..265b3cfb824d9c757446adc3902800292e536a92 100644 --- a/src/lib/vm-listener-hoc.jsx +++ b/src/lib/vm-listener-hoc.jsx @@ -32,8 +32,6 @@ const vmListenerHOC = function (WrappedComponent) { this.props.vm.on('targetsUpdate', this.props.onTargetsUpdate); this.props.vm.on('SPRITE_INFO_REPORT', this.props.onSpriteInfoReport); this.props.vm.on('MONITORS_UPDATE', this.props.onMonitorsUpdate); - this.props.vm.on('MONITORS_REMOVED', this.props.onMonitorsRemoved); - this.props.vm.on('MONITORS_ADDED', this.props.onMonitorsAdded); } componentDidMount () { if (this.props.attachKeyboardEvents) { @@ -81,9 +79,7 @@ const vmListenerHOC = function (WrappedComponent) { onKeyDown, onKeyUp, onSpriteInfoReport, - onMonitorsAdded, onMonitorsUpdate, - onMonitorsRemoved, onTargetsUpdate, /* eslint-enable no-unused-vars */ ...props @@ -95,8 +91,6 @@ const vmListenerHOC = function (WrappedComponent) { attachKeyboardEvents: PropTypes.bool, onKeyDown: PropTypes.func, onKeyUp: PropTypes.func, - onMonitorsAdded: PropTypes.func, - onMonitorsRemoved: PropTypes.func, onMonitorsUpdate: PropTypes.func, onSpriteInfoReport: PropTypes.func, onTargetsUpdate: PropTypes.func, @@ -117,14 +111,8 @@ const vmListenerHOC = function (WrappedComponent) { onSpriteInfoReport: spriteInfo => { dispatch(targets.updateTarget(spriteInfo)); }, - onMonitorsAdded: monitorList => { - dispatch(monitors.addMonitors(monitorList)); - }, onMonitorsUpdate: monitorList => { dispatch(monitors.updateMonitors(monitorList)); - }, - onMonitorsRemoved: monitorList => { - dispatch(monitors.removeMonitors(monitorList)); } }); return connect( diff --git a/src/reducers/monitors.js b/src/reducers/monitors.js index 226f3d806817d0217f633bede0a68e93d8d072f7..e8b4fa947eee4862f24be5ea8727caef6793fe5c 100644 --- a/src/reducers/monitors.js +++ b/src/reducers/monitors.js @@ -1,49 +1,12 @@ const UPDATE_MONITORS = 'scratch-gui/monitors/UPDATE_MONITORS'; -const REMOVE_MONITORS = 'scratch-gui/monitors/REMOVE_MONITORS'; -const ADD_MONITORS = 'scratch-gui/monitors/ADD_MONITORS'; const initialState = []; const reducer = function (state, action) { if (typeof state === 'undefined') state = initialState; - let newState; switch (action.type) { - case ADD_MONITORS: - for (let i = 0; i < action.monitors.length; i++) { - for (let j = 0; j < state.length; j++) { - if (action.monitors[i].id === state[j].id) { - // If the ID is already in the list, return instead of adding - // a duplicate to remain idempotent - return state; - } - } - } - return [...state, ...action.monitors]; - // Adds or updates monitors case UPDATE_MONITORS: - newState = [...state]; - for (let i = 0; i < action.monitors.length; i++) { - for (let j = 0; j < state.length; j++) { - if (action.monitors[i].id === state[j].id) { - newState[j] = Object.assign({}, newState[j], action.monitors[i]); - continue; - } - } - } - return newState; - // Removes monitors - case REMOVE_MONITORS: - newState = [...state]; - for (let i = 0; i < action.monitors.length; i++) { - // Move backwards to keep indices aligned - for (let j = state.length - 1; j >= 0; j--) { - if (action.monitors[i].id === state[j].id) { - newState.splice(j, 1); - continue; - } - } - } - return newState; + return [...action.monitors]; default: return state; } @@ -59,24 +22,4 @@ reducer.updateMonitors = function (monitors) { }; }; -reducer.addMonitors = function (monitors) { - return { - type: ADD_MONITORS, - monitors: monitors, - meta: { - throttle: 30 - } - }; -}; - -reducer.removeMonitors = function (monitors) { - return { - type: REMOVE_MONITORS, - monitors: monitors, - meta: { - throttle: 30 - } - }; -}; - module.exports = reducer;