41 lines
1.1 KiB
CoffeeScript
41 lines
1.1 KiB
CoffeeScript
context = window
|
|
ReactCSSTransitionGroup = React.addons.CSSTransitionGroup
|
|
MIX_MODES = context.JK.MIX_MODES
|
|
logger = context.JK.logger
|
|
|
|
@SessionMasterMyTracks = React.createClass({
|
|
|
|
mixins: [@SessionMyTracksMixin, Reflux.listenTo(@SessionMyTracksStore,"onInputsChanged"), Reflux.listenTo(@AppStore,"onAppInit")]
|
|
|
|
render: () ->
|
|
|
|
content = null
|
|
tracks = []
|
|
|
|
if this.state.tracks.length > 0
|
|
for track in this.state.tracks
|
|
track.mode = MIX_MODES.MASTER
|
|
tracks.push(`<SessionMyTrack key={track.track.client_track_id} {...track} />`)
|
|
|
|
if @state.chat
|
|
@state.chat.mode = @props.mode
|
|
tracks.push(`<SessionMyChat key="chat" {...this.state.chat} />`)
|
|
|
|
else if this.state.session? && this.state.session.inSession()
|
|
logger.debug("no 'my inputs' for master mix")
|
|
|
|
`<div className="session-my-tracks">
|
|
<h2>my live tracks</h2>
|
|
<div className="session-tracks-scroller">
|
|
{content}
|
|
{tracks}
|
|
</div>
|
|
</div>`
|
|
|
|
getInitialState:() ->
|
|
{tracks:[], session: null}
|
|
|
|
onAppInit: (app) ->
|
|
@app = app
|
|
})
|