1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { ReducerRegistry, set } from '../base/redux';
-
- import {
- CAPTURE_EVENTS,
- REMOTE_CONTROL_ACTIVE,
- SET_CONTROLLED_PARTICIPANT,
- SET_CONTROLLER,
- SET_RECEIVER_ENABLED,
- SET_RECEIVER_TRANSPORT,
- SET_REQUESTED_PARTICIPANT
- } from './actionTypes';
-
- /**
- * The default state.
- */
- const DEFAULT_STATE = {
- active: false,
- controller: {
- isCapturingEvents: false
- },
- receiver: {
- enabled: false
- }
- };
-
- /**
- * Listen for actions that mutate the remote control state.
- */
- ReducerRegistry.register(
- 'features/remote-control', (state = DEFAULT_STATE, action) => {
- switch (action.type) {
- case CAPTURE_EVENTS:
- return {
- ...state,
- controller: set(state.controller, 'isCapturingEvents', action.isCapturingEvents)
- };
- case REMOTE_CONTROL_ACTIVE:
- return set(state, 'active', action.active);
- case SET_RECEIVER_TRANSPORT:
- return {
- ...state,
- receiver: set(state.receiver, 'transport', action.transport)
- };
- case SET_RECEIVER_ENABLED:
- return {
- ...state,
- receiver: set(state.receiver, 'enabled', action.enabled)
- };
- case SET_REQUESTED_PARTICIPANT:
- return {
- ...state,
- controller: set(state.controller, 'requestedParticipant', action.requestedParticipant)
- };
- case SET_CONTROLLED_PARTICIPANT:
- return {
- ...state,
- controller: set(state.controller, 'controlled', action.controlled)
- };
- case SET_CONTROLLER:
- return {
- ...state,
- receiver: set(state.receiver, 'controller', action.controller)
- };
- }
-
- return state;
- },
- );
|