bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/media/container.jsx

52 lines
1.2 KiB
React
Raw Normal View History

2016-04-29 03:02:51 +08:00
import React, { Component, PropTypes } from 'react';
import { createContainer } from 'meteor/react-meteor-data';
import Media from './component.jsx';
2016-04-29 03:02:51 +08:00
import Button from '../button/component';
import WhiteboardContainer from '../whiteboard/container';
import VideoDockContainer from '../video-dock/container';
const defaultProps = {
overlay: <VideoDockContainer/>,
content: <WhiteboardContainer/>,
};
2016-05-03 06:42:54 +08:00
class MediaContainer extends Component {
2016-04-29 03:02:51 +08:00
constructor(props) {
super(props);
const { overlay, content } = this.props;
this.state = {
overlay: overlay,
content: content,
};
this.handleToggleLayout = this.handleToggleLayout.bind(this);
}
handleToggleLayout() {
const { overlay, content } = this.state;
this.setState({ overlay: content, content: overlay });
2016-04-29 03:02:51 +08:00
}
render() {
return (
<Media overlay={this.state.overlay} content={this.state.content}>
<Button
label="Toggle Layout"
style={{ position: 'absolute', top: '10px', left: '10px' }}
onClick={this.handleToggleLayout} />
2016-04-29 03:02:51 +08:00
{this.props.children}
2016-05-03 06:42:54 +08:00
</Media>
2016-04-29 03:02:51 +08:00
);
}
}
MediaContainer.defaultProps = defaultProps;
2016-04-29 03:02:51 +08:00
export default createContainer(() => {
return {};
2016-05-03 06:42:54 +08:00
}, MediaContainer);