context = window SessionsActions = @SessionsActions @FindSessionFriends = React.createClass({ mixins: [Reflux.listenTo(@AppStore, "onAppInit") Reflux.listenTo(@SessionsStore, "onSessionsChanged")] TYPE_SESSION: 'my' searched_ever: false registeredInfiniteScroll: false getInitialState: () -> {active: false, sessions: [], searching: false, count: 0, currentPage: 0, end:false} sessionResults: () -> results = [] for session in @state.sessions results.push(``) results help: () -> `

How This Page Works

This page will show sessions tailored for you:


Sit Back and Relax

This page will automatically update when a friend creates a session, or you are invited to one.

So if your friend is creating a session soon, just sit tight and watch for sessions to show up!

` refresh: () -> if @state.searching return SessionsActions.clearSessions.trigger(@TYPE_SESSION, @query()) render: () -> results = @sessionResults() className = "content-body-scroller sessions-for-me" if(@props.active) className = className + " active" firstTime = null if results.length == 0 if @state.searching results = `... Searching ...` else # help = @help() results = `None Found` help = @help() refreshButtonClasses = "button-grey btn-refresh" if @state.searching refreshButtonClasses = refreshButtonClasses += " disabled" `

sessions for me


{results}
SESSION MUSICIANS ACTIONS
{help}
` query: () -> $root = $(this.getDOMNode()) keyword = $root.find('input.session-keyword-srch').val() if keyword == '' keyword = undefined query = keyword: keyword query componentDidMount: () -> @EVENTS = context.JK.EVENTS @rest = context.JK.Rest() @logger = context.JK.logger componentDidUpdate: (prevProps, prevState) -> if @props.active && !prevProps.active && !@searched_ever SessionsActions.updateSessions.trigger('my') @searched_ever = true $root = $(this.getDOMNode()) $scroller = $root if !@registeredInfiniteScroll @registerInfiniteScroll($scroller) registerInfiniteScroll: ($scroller) -> @registeredInfiniteScroll = true $scroller.off('scroll') $scroller.on('scroll', () => # be sure to not fire off many refreshes when user hits the bottom return if @state.searching if @state.end return if $scroller.scrollTop() + $scroller.innerHeight() + 100 >= $scroller[0].scrollHeight SessionsActions.updateSessions.trigger(@TYPE_SESSION, @query()) ) inviteFriends:() -> JK.InvitationDialogInstance.showEmailDialog(); onAppInit: (@app) -> return onSessionsChanged: (sessionsChanged) -> if sessionsChanged.type == @TYPE_SESSION @setState(sessionsChanged) })