diff --git a/web/app/assets/javascripts/react-components/SessionMediaTracks.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionMediaTracks.js.jsx.coffee index f72068f29..d4d50a8ae 100644 --- a/web/app/assets/javascripts/react-components/SessionMediaTracks.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/SessionMediaTracks.js.jsx.coffee @@ -263,10 +263,9 @@ ChannelGroupIds = context.JK.ChannelGroupIds # All the JamTracks mediaTracks.push(``) - # this is not ready yet until VRFS-3363 is done - #if @state.metronome? - # @state.metronome.mode = MIX_MODES.PERSONAL - # mediaTracks.push(``) + if @state.metronome? + @state.metronome.mode = MIX_MODES.PERSONAL + mediaTracks.push(``) for jamTrack in @state.jamTracks jamTrack.mode = MIX_MODES.PERSONAL diff --git a/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee index d1231642d..aa7654c7e 100644 --- a/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee @@ -33,6 +33,7 @@ MIX_MODES = context.JK.MIX_MODES "session-track" : true "metronome" : true "no-mixer" : @props.mode == MIX_MODES.MASTER # show it as disabled if in master mode + "in-jam-track" : @props.location == 'jam-track' }) pan = if mixers.mixer? then mixers.mixer?.pan else 0 diff --git a/web/app/assets/javascripts/react-components/TeacherProfile.js.jsx.coffee b/web/app/assets/javascripts/react-components/TeacherProfile.js.jsx.coffee new file mode 100644 index 000000000..3576b27a5 --- /dev/null +++ b/web/app/assets/javascripts/react-components/TeacherProfile.js.jsx.coffee @@ -0,0 +1,99 @@ +context = window +teacherActions = window.JK.Actions.Teacher +logger = context.JK.logger +rest = window.JK.Rest() + +@TeacherProfile = React.createClass({ + mixins: [ + @TeacherMixin, + Reflux.listenTo(@AppStore,"onAppInit"), + Reflux.listenTo(TeacherStore, "onTeacherStateChanged") + ] + + setTeacherError: () -> + + + getInitialState: () -> + {} + + beforeShow: (data) -> + logger.debug("TeacherProfile beforeShow", data, data.d) + + + if data? && data.d? + @teacherId = data.d + teacherActions.load.trigger({teacher_id: @teacherId}) + else + teacherActions.load.trigger({}) + + onTeacherStateChanged: (changes) -> + $root = jQuery(this.getDOMNode()) + logger.debug("onTeacherStateChanged", changes, changes.errors?, changes.errors) + $(".error-text", $root).remove() + $(".input-error", $root).removeClass("input-error") + if changes.errors? + for k,v of changes.errors + logger.debug("error", k, v) + teacherField = $root.find(".teacher-field[name='#{k}']") + teacherField.append("
#{v.join()}
") + $("input", teacherField).addClass("input-error") + #$(".error-text", teacherField).show() + + else + teacher = changes.teacher + logger.debug("@teacher", teacher) + this.setState({ + biography: teacher.biography, + introductory_video: teacher.introductory_video, + years_teaching: teacher.years_teaching, + years_playing: teacher.years_playing, + validate_introduction: true + }) + + + + captureFormState: (changes) -> + $root = jQuery(this.getDOMNode()) + this.setState({ + biography: $root.find(".teacher-biography").val(), + introductory_video: $root.find(".teacher-introductory-video").val(), + years_teaching: $root.find(".years-teaching-experience").val(), + years_playing: $root.find(".years-playing-experience").val() + }); + logger.debug("capturedFormState", this.state, changes) + + handleSave: (e) -> + logger.debug("HANDLESAVE: ", this.state, this, e) + teacherActions.change.trigger(this.state) + + render: () -> + logger.debug("RENDERING", this.props, this.state) + `
+
+
+ +