2016-04-29 03:02:51 +08:00
|
|
|
import React, { Component, PropTypes } from 'react';
|
|
|
|
import { createContainer } from 'meteor/react-meteor-data';
|
|
|
|
|
2016-05-20 21:44:27 +08:00
|
|
|
import Media from './component.jsx';
|
2016-04-29 03:02:51 +08:00
|
|
|
|
2016-05-20 21:37:19 +08:00
|
|
|
import Button from '../button/component';
|
|
|
|
|
2016-05-20 21:44:27 +08:00
|
|
|
import WhiteboardContainer from '../whiteboard/container';
|
|
|
|
import VideoDockContainer from '../video-dock/container';
|
2016-05-04 04:40:46 +08:00
|
|
|
|
|
|
|
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);
|
2016-05-04 04:40:46 +08:00
|
|
|
|
|
|
|
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 (
|
2016-05-04 04:40:46 +08:00
|
|
|
<Media overlay={this.state.overlay} content={this.state.content}>
|
2016-05-20 21:37:19 +08:00
|
|
|
<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
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-05-04 04:40:46 +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);
|