* feat(welcome-page): be able to open settings dialog - Create a getter for getting a settings tab's props so the device selection tab can get updated available devices. - Be able to call a function from a tab after it has mounted. This is used for device selection to essentially call enumerateDevices on the welcome page so the device selectors are populated. - Remove event UIEvents.AUDIO_OUTPUT_DEVICE_CHANGED. Instead directly call setAudioOutputDeviceId where possible. - Fix initialization of the audioOutputDeviceId in settings by defaulting the audio output device to the one set in settings. * squash: updateAvailableDevices -> getAvailableDevices, add comment for propsUpdateFunction
31 lines
750 B
JavaScript
31 lines
750 B
JavaScript
/* global APP */
|
|
|
|
import UIEvents from '../../../../service/UI/UIEvents';
|
|
|
|
import { MiddlewareRegistry } from '../redux';
|
|
|
|
import {
|
|
SET_AUDIO_INPUT_DEVICE,
|
|
SET_VIDEO_INPUT_DEVICE
|
|
} from './actionTypes';
|
|
|
|
/**
|
|
* Implements the middleware of the feature base/devices.
|
|
*
|
|
* @param {Store} store - Redux store.
|
|
* @returns {Function}
|
|
*/
|
|
// eslint-disable-next-line no-unused-vars
|
|
MiddlewareRegistry.register(store => next => action => {
|
|
switch (action.type) {
|
|
case SET_AUDIO_INPUT_DEVICE:
|
|
APP.UI.emitEvent(UIEvents.AUDIO_DEVICE_CHANGED, action.deviceId);
|
|
break;
|
|
case SET_VIDEO_INPUT_DEVICE:
|
|
APP.UI.emitEvent(UIEvents.VIDEO_DEVICE_CHANGED, action.deviceId);
|
|
break;
|
|
}
|
|
|
|
return next(action);
|
|
});
|