jam-cloud/web/app/assets/javascripts/react-components/SessionScreen.js.jsx.coffee

62 lines
1.4 KiB
CoffeeScript

context = window
SessionActions = @SessionActions
@SessionScreen = React.createClass({
mixins: [Reflux.listenTo(@AppStore,"onAppInit")]
render: () ->
`<div className="session-container">
<div className="in-session-controls">
<SessionSettingsBtn />
<SessionVolumeSettingsBtn />
<SessionShareBtn />
<SessionRecordBtn />
<SessionVideoBtn />
<SessionMixerBtn />
<SessionResyncBtn />
<SessionLeaveBtn />
</div>
<div className="tracks" id="new-tracks">
<SessionMyTracks />
<SessionOtherTracks />
<SessionMediaTracks />
<SessionNotifications />
</div>
</div>`
componentDidMount: () ->
@logger = context.JK.logger
beforeShow: (data) =>
@logger.debug("session beforeShow")
afterShow: (data) ->
@logger.debug("session afterShow")
SessionActions.joinSession.trigger(data.id)
beforeHide: () ->
@logger.debug("session beforeHide")
beforeLeave: () ->
@logger.debug("session beforeLeave")
beforeDisconnect: () ->
@logger.debug("session beforeDisconnect")
onAppInit: (@app) ->
screenBindings = {
'beforeShow': @beforeShow,
'afterShow': @afterShow,
'beforeHide': @beforeHide,
'beforeLeave' : @beforeLeave,
'beforeDisconnect' : @beforeDisconnect,
};
@app.bindScreen('session2', screenBindings);
})