import React, { PureComponent } from 'react'
import { Button, Layout } from 'components'
import CheckBox from 'components/checkbox'
class SidebarStory extends PureComponent {
constructor (props) {
super(props)
this.state = {
visibleRight: false,
visibleLeft: false
}
}
toggleSidebar = name => {
this.setState({
[name]: !this.state[name]
})
}
changeBlock = e => {
const { name, checked } = e.target
this.setState({
[name]: checked
})
}
changeFloat = e => {
const { name, checked } = e.target
this.setState({
[name]: checked
})
}
render () {
const { visibleLeft, visibleRight, block, float } = this.state
return (
<Layout>
<Layout.Sidebar visible={visibleLeft} triggerClose={() => this.toggleSidebar('visibleLeft', block, float)} side='left' width='250px' block={block} float={float}>
<div style={{ width: '100%', height: '100vh', background: '#314056' }} />
</Layout.Sidebar>
<Layout.Content flow='column' vAlign='center' hAlign='center' flexBox >
<div>
<CheckBox text='Toggle Block View' name='block' onChange={this.changeBlock} />
<CheckBox text='Toggle Float' name='float' onChange={this.changeFloat} />
</div>
<Button width='200px' value='Left Sidebar' type='primary' onClick={() => this.toggleSidebar('visibleLeft')} />
<Button width='200px' value='Right Sidebar' type='primary' onClick={() => this.toggleSidebar('visibleRight')} />
</Layout.Content>
<Layout.Sidebar visible={visibleRight} triggerClose={() => this.toggleSidebar('visibleRight', block, float)} side='right' width='250px' block={block} float={float}>
<div style={{ width: '100%', height: '100vh', background: '#fff', borderLeft: 'solid 1px #ccc' }}>
Content Sidebar Right
</div>
</Layout.Sidebar>
</Layout >
)
}
}
export default SidebarStory
|