您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

reducer.ts 977B

123456789101112131415161718192021222324252627282930313233343536
  1. import ReducerRegistry from '../../base/redux/ReducerRegistry';
  2. import { equals, set } from '../../base/redux/functions';
  3. import { _SET_AUDIOMODE_DEVICES, _SET_AUDIOMODE_SUBSCRIPTIONS } from './actionTypes';
  4. import { IRawDevice } from './components/AudioRoutePickerDialog';
  5. export interface IMobileAudioModeState {
  6. devices: IRawDevice[];
  7. subscriptions: {
  8. remove: Function;
  9. }[];
  10. }
  11. const DEFAULT_STATE = {
  12. devices: [],
  13. subscriptions: []
  14. };
  15. ReducerRegistry.register<IMobileAudioModeState>('features/mobile/audio-mode',
  16. (state = DEFAULT_STATE, action): IMobileAudioModeState => {
  17. switch (action.type) {
  18. case _SET_AUDIOMODE_DEVICES: {
  19. const { devices } = action;
  20. if (equals(state.devices, devices)) {
  21. return state;
  22. }
  23. return set(state, 'devices', devices);
  24. }
  25. case _SET_AUDIOMODE_SUBSCRIPTIONS:
  26. return set(state, 'subscriptions', action.subscriptions);
  27. }
  28. return state;
  29. });