Select Git revision
ViewerNavigationVideo.js 1.70 KiB
import { compose } from 'redux';
import { connect } from 'react-redux';
import { withTranslation } from 'react-i18next';
import { withPlugins } from '../extend/withPlugins';
import * as actions from '../state/actions';
import { ViewerNavigationVideo } from '../components/ViewerNavigationVideo';
import {
getCurrentCanvasDuration,
getWindowCurrentTime,
getWindowMutedStatus,
getWindowPausedStatus,
getWindowTextTrackDisabledStatus,
getWindowHasTextTrack,
} from '../state/selectors';
/** */
const mapStateToProps = (state, { windowId }) => ({
currentTime: getWindowCurrentTime(state, { windowId }),
duration: getCurrentCanvasDuration(state, { windowId }),
hasTextTrack: getWindowHasTextTrack(state, { windowId }),
muted: getWindowMutedStatus(state, { windowId }),
paused: getWindowPausedStatus(state, { windowId }),
textTrackDisabled: getWindowTextTrackDisabledStatus(state, { windowId }),
});
/**
* mapDispatchToProps - used to hook up connect to action creators
* @memberof ManifestForm
* @private
*/
const mapDispatchToProps = (dispatch, { windowId }) => ({
setCurrentTime: (...args) => dispatch(actions.setWindowCurrentTime(windowId, ...args)),
setMuted: (...args) => dispatch(actions.setWindowMuted(windowId, ...args)),
setPaused: (...args) => dispatch(actions.setWindowPaused(windowId, ...args)),
setSeekTo: (...args) => dispatch(actions.setWindowSeekTo(windowId, ...args)),
setTextTrackDisabled: (...args) => dispatch(
actions.setWindowTextTrackDisabled(windowId, ...args),
),
});
const enhance = compose(
withTranslation(),
connect(mapStateToProps, mapDispatchToProps),
withPlugins('ViewerNavigationVideo'),
// further HOC go here
);
export default enhance(ViewerNavigationVideo);