import React, { Component } from 'react'; import { createContainer } from 'meteor/react-meteor-data'; import Media from './component'; import MediaService from './service'; import PresentationAreaContainer from '../presentation/container'; import VideoDockContainer from '../video-dock/container'; import ScreenshareContainer from '../screenshare/container'; import DefaultContent from '../presentation/default-content/component'; const defaultProps = { overlay: null, // , content: , defaultContent: , }; class MediaContainer extends Component { constructor(props) { super(props); const { overlay, content, defaultContent } = this.props; this.state = { overlay, content: this.props.current_presentation ? content : defaultContent, }; this.handleToggleLayout = this.handleToggleLayout.bind(this); } componentWillReceiveProps(nextProps) { if (nextProps.current_presentation !== this.props.current_presentation) { if (nextProps.current_presentation) { this.setState({ content: this.props.content }); } else { this.setState({ content: this.props.defaultContent }); } } } handleToggleLayout() { const { overlay, content } = this.state; this.setState({ overlay: content, content: overlay }); } render() { return ( {this.props.children} ); } } MediaContainer.defaultProps = defaultProps; export default createContainer(() => { const data = {}; data.currentPresentation = MediaService.getPresentationInfo(); data.content = ; if (MediaService.shouldShowWhiteboard()) { data.content = ; } if (MediaService.shouldShowScreenshare()) { data.content = ; } if (MediaService.shouldShowOverlay()) { data.overlay = ; } return data; }, MediaContainer);