context = window logger = context.JK.logger @SessionTrackPan = React.createClass({ getInitialState: () -> { mixers: this.props.mixers, behaviors: this.props.behaviors || {} } panChanged: (e, data) -> $target = $(this) groupId = $target.data('groupId') mixers = [@state.mixers.mixer] MixerActions.panChanged(data, mixers, groupId) render: () -> mixerId = this.state.mixers?.mixer?.id `
Left
Right
` componentDidMount: () -> $root = jQuery(this.getDOMNode()) if !$root.is('.track-pan') logger.error("unknown root node") $fader = $root.attr('data-mixer-id', this.state.mixers.mixer.id).data('groupId', this.state.mixers.mixer.groupId).data('mixer', this.state.mixers.mixer).data('opposite-mixer', this.state.mixers.oppositeMixer) if this.state.behaviors.mediaControlsDisabled $fader.data('media-controls-disabled', true).data('media-track-opener', this.state.behaviors.mediaTrackOpener) # this we be applied later to the fader handle $element $fader.data('showHelpAboutMediaMixers', this.state.behaviors.showHelpAboutMediaMixers) context.JK.FaderHelpers.renderFader2($fader, {faderType: 'horizontal', snap:true}, context.JK.PanHelpers.convertPercentToPanForDisplay) # Initialize gain position MixerActions.initPan(this.state.mixers.mixer) # watch for fader change events $fader.on('fader_change', this.panChanged) })