Skip to content

Instantly share code, notes, and snippets.

@tremayne-stewart
Created April 26, 2015 03:36
Show Gist options
  • Save tremayne-stewart/f57b5e977d91dc1e9cb1 to your computer and use it in GitHub Desktop.
Save tremayne-stewart/f57b5e977d91dc1e9cb1 to your computer and use it in GitHub Desktop.
CConnect.Layout.App = RC({
pages:[]
componentWillMount:->
#@pages.push CConnect.Layout.Chat({})
#@pages.push CConnect.Layout.ZoneWall({})
@pages.push `<CConnect.Layout.DynamicPane id="left" />`
@pages.push CConnect.Layout.DynamicPane({id:"center",layout:"Menu"})
@pages.push CConnect.Layout.DynamicPane({id:"right"})
render:->
RD.div({
id:"app"
},
@pages
)
})
CConnect.Layout.DynamicPane = RC({
mixins:[Reflux.listenTo(CConnect.Ctrl.MenuController,"set"),Reflux.listenTo(CConnect.Ctrl.DashboardController,"set")]
store:[]
getInitialState:->
layout:"Chat"
set:(payload)->
if payload.id==@props.id and payload.openRight?
@setState({layout:payload.openRight})
if payload.id==@props.id and payload.openLeft?
@setState({layout:payload.openLeft})
componentWillMount:->
if @props.layout?
@store = CConnect.Layout[@props.layout]({})
@setState({layout:@props.layout})
else if @state.layout?
@store = CConnect.Layout[@state.layout]({})
componentWillUpdate:(nextProps,nextState)->
if nextState.layout?
@store = CConnect.Layout[nextState.layout]({})
componentDidUpdate:->
if @props.id=="right"
CConnect.Ctrl.MenuActions.openRightMove()
else if @props.id=="left"
CConnect.Ctrl.MenuActions.openLeftMove()
render:->
RD.div({
id:"DynamicPane_"+@props.id
className:"pane"
},@store)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment