context = window MixerActions = @MixerActions @SessionJamTrackCategory = React.createClass({ handleMute: (e) -> e.preventDefault() muting = $(e.currentTarget).is('.enabled') MixerActions.mute([this.props.mixers.mixer, this.props.mixers.oppositeMixer], muting) render: () -> # today, all mixers are the same for a remote participant; so just grab the 1st mixers = @props.mixers muteMixer = mixers.muteMixer vuMixer = mixers.vuMixer muteMixerId = muteMixer?.id classes = classNames({ 'track-icon-mute': true 'enabled' : !muteMixer?.mute 'muted' : muteMixer?.mute }) componentClasses = classNames({ "session-track" : true "jam-track-category" : true }) pan = mixers.mixer.pan panStyle = { transform: "rotate(#{pan}deg)" WebkitTransform: "rotate(#{pan}deg)" } `
JamTrack:
{this.props.jamTrackName}


` componentDidMount: () -> $root = $(this.getDOMNode()) $mute = $root.find('.track-icon-mute') $pan = $root.find('.track-icon-pan') context.JK.interactReactBubble( $mute, 'SessionTrackVolumeHover', () => {mixers:@props.mixers, trackType: 'SessionJamTrackCategory', mode: @props.mode} , {width:235, positions:['right', 'left'], offsetParent:$root.closest('.top-parent')}) context.JK.interactReactBubble( $pan, 'SessionTrackPanHover', () => {mixers:@props.mixers} , {width:331, positions:['right', 'left'], offsetParent:$root.closest('.top-parent')}) })