1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-14 02:06:29 +00:00

cleaning up code and fixing slider bug on fullscreen mode

This commit is contained in:
Kevin Nadro
2017-06-02 23:19:44 -05:00
committed by asmsuechan
parent 0d2e6a6a12
commit df6ff1fffe
2 changed files with 20 additions and 17 deletions

View File

@@ -37,7 +37,7 @@ class Main extends React.Component {
mainBodyWidth: 0 mainBodyWidth: 0
} }
this.fullScreenEditorCode = () => this.handleFullScreenButton() this.toggleFullScreen = () => this.handleFullScreenButton()
} }
getChildContext () { getChildContext () {
@@ -72,13 +72,13 @@ class Main extends React.Component {
} }
}) })
eventEmitter.on('editor:fullscreen', this.fullScreenEditorCode) eventEmitter.on('editor:fullscreen', this.toggleFullScreen)
window.addEventListener('focus', focused) window.addEventListener('focus', focused)
} }
componentWillUnmount () { componentWillUnmount () {
window.removeEventListener('focus', focused) window.removeEventListener('focus', focused)
eventEmitter.off('editor:fullscreen', this.fullScreenEditorCode) eventEmitter.off('editor:fullscreen', this.toggleFullScreen)
} }
handleLeftSlideMouseDown (e) { handleLeftSlideMouseDown (e) {
@@ -159,24 +159,27 @@ class Main extends React.Component {
this.setState({ fullScreen: !this.state.fullScreen }, () => { this.setState({ fullScreen: !this.state.fullScreen }, () => {
const noteDetail = document.querySelector('.NoteDetail') const noteDetail = document.querySelector('.NoteDetail')
const mainBody = document.querySelector('#main-body') const mainBody = document.querySelector('#main-body')
const sliderRight = document.querySelector('#slider-right')
const sliderLeft = document.querySelector('#slider-left')
if (this.state.fullScreen) { if (this.state.fullScreen) {
this.state.noteDetailWidth = noteDetail.style.left this.hideLeftLists(noteDetail, mainBody)
this.state.mainBodyWidth = mainBody.style.left
noteDetail.style.left = '0px'
mainBody.style.left = '0px'
sliderRight.style.display = 'none'
sliderLeft.style.display = 'none'
} else { } else {
noteDetail.style.left = this.state.noteDetailWidth this.showLeftLists(noteDetail, mainBody)
mainBody.style.left = this.state.mainBodyWidth
sliderRight.style.display = 'block'
sliderLeft.style.display = 'block'
} }
}) })
} }
hideLeftLists(noteDetail, mainBody) {
this.state.noteDetailWidth = noteDetail.style.left
this.state.mainBodyWidth = mainBody.style.left
noteDetail.style.left = '0px'
mainBody.style.left = '0px'
}
showLeftLists(noteDetail, mainBody) {
noteDetail.style.left = this.state.noteDetailWidth
mainBody.style.left = this.state.mainBodyWidth
}
render () { render () {
let { config } = this.props let { config } = this.props
@@ -198,7 +201,6 @@ class Main extends React.Component {
/> />
{!config.isSideNavFolded && {!config.isSideNavFolded &&
<div styleName={this.state.isLeftSliderFocused ? 'slider--active' : 'slider'} <div styleName={this.state.isLeftSliderFocused ? 'slider--active' : 'slider'}
id='slider-left'
style={{left: this.state.navWidth}} style={{left: this.state.navWidth}}
onMouseDown={(e) => this.handleLeftSlideMouseDown(e)} onMouseDown={(e) => this.handleLeftSlideMouseDown(e)}
draggable='false' draggable='false'
@@ -230,7 +232,6 @@ class Main extends React.Component {
])} ])}
/> />
<div styleName={this.state.isRightSliderFocused ? 'slider-right--active' : 'slider-right'} <div styleName={this.state.isRightSliderFocused ? 'slider-right--active' : 'slider-right'}
id='slider-right'
style={{left: this.state.listWidth - 1}} style={{left: this.state.listWidth - 1}}
onMouseDown={(e) => this.handleRightSlideMouseDown(e)} onMouseDown={(e) => this.handleRightSlideMouseDown(e)}
draggable='false' draggable='false'

View File

@@ -13,10 +13,12 @@
absolute top bottom absolute top bottom
top -2px top -2px
width 0 width 0
z-index 0
.slider-right .slider-right
@extend .slider @extend .slider
width 1px width 1px
z-index 0
.slider--active .slider--active
@extend .slider @extend .slider