jam-cloud/web/app/assets/javascripts/react-components/FindSessionScreen.js.jsx.co...

96 lines
2.3 KiB
CoffeeScript

context = window
MIX_MODES = context.JK.MIX_MODES
@FindSessionScreen = React.createClass({
mixins: [Reflux.listenTo(@AppStore, "onAppInit"), Reflux.listenTo(@UserStore, "onUserChanged")]
LIMIT: 20
instrument_logo_map: context.JK.getInstrumentIconMap24()
getInitialState: () ->
{activeTab: 'friends', search: '', type: 'user-input'}
generateProperties: (tab) ->
properties = {}
properties['active'] = @state.activeTab == tab
properties
generateTabClasses: (tab) ->
classes = {}
classes['find-tab'] = true
classes[tab] = true
if @state.activeTab == tab
classes['active'] = true
classNames(classes)
render: () ->
friendTabClasses = @generateTabClasses('friends')
publicTabClasses = @generateTabClasses('public')
scheduledTabClasses = @generateTabClasses('scheduled')
friendProperties = @generateProperties('friends')
publicProperties = @generateProperties('public')
scheduledProperties = @generateProperties('scheduled')
search = ''
`<div className="">
<div className="">
<form id="find-session-form">
<div className="session-filter">
<div style={{minWidth:'770px'}}>
<div className="tabs">
<a className={friendTabClasses}>
Friends
</a>
<a className={publicTabClasses}>
Public
</a>
<a className={scheduledTabClasses}>
Upcoming
</a>
</div>
</div>
</div>
</form>
<FindSessionFriends active={friendProperties.active} />
</div>
</div>`
componentDidMount: () ->
return
componentDidUpdate: () ->
return
beforeShow: () ->
return
afterShow: () ->
return
onAppInit: (@app) ->
@EVENTS = context.JK.EVENTS
@rest = context.JK.Rest()
@logger = context.JK.logger
screenBindings =
'beforeShow': @beforeShow
'afterShow': @afterShow
@app.bindScreen('findSession', screenBindings)
onUserChanged: (userState) ->
@user = userState?.user
})