mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-14 02:06:29 +00:00
reworking architecture of code
This commit is contained in:
@@ -30,10 +30,7 @@ class MarkdownNoteDetail extends React.Component {
|
|||||||
content: ''
|
content: ''
|
||||||
}, props.note),
|
}, props.note),
|
||||||
isLockButtonShown: false,
|
isLockButtonShown: false,
|
||||||
isLocked: false,
|
isLocked: false
|
||||||
fullScreen: false,
|
|
||||||
widthOfNoteDetail: 0,
|
|
||||||
widthOfMainBody: 0
|
|
||||||
}
|
}
|
||||||
this.dispatchTimer = null
|
this.dispatchTimer = null
|
||||||
|
|
||||||
@@ -200,25 +197,7 @@ class MarkdownNoteDetail extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleFullScreenButton (e) {
|
handleFullScreenButton (e) {
|
||||||
this.setState({ fullScreen: !this.state.fullScreen }, () => {
|
ee.emit('editor:fullscreen')
|
||||||
const noteDetail = document.querySelector('.NoteDetail')
|
|
||||||
const mainBody = document.querySelector('#main-body')
|
|
||||||
const sliderRight = document.querySelector('#slider-right')
|
|
||||||
const sliderLeft = document.querySelector('#slider-left')
|
|
||||||
if (this.state.fullScreen) {
|
|
||||||
this.state.widthOfNoteDetail = noteDetail.style.left
|
|
||||||
this.state.widthOfMainBody = mainBody.style.left
|
|
||||||
noteDetail.style.left = '0px'
|
|
||||||
mainBody.style.left = '0px'
|
|
||||||
sliderRight.style.display = 'none'
|
|
||||||
sliderLeft.style.display = 'none'
|
|
||||||
} else {
|
|
||||||
noteDetail.style.left = this.state.widthOfNoteDetail
|
|
||||||
mainBody.style.left = this.state.widthOfMainBody
|
|
||||||
sliderRight.style.display = 'block'
|
|
||||||
sliderLeft.style.display = 'block'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
handleLockButtonMouseDown (e) {
|
handleLockButtonMouseDown (e) {
|
||||||
|
|||||||
@@ -48,10 +48,7 @@ class SnippetNoteDetail extends React.Component {
|
|||||||
description: ''
|
description: ''
|
||||||
}, props.note, {
|
}, props.note, {
|
||||||
snippets: props.note.snippets.map((snippet) => Object.assign({}, snippet))
|
snippets: props.note.snippets.map((snippet) => Object.assign({}, snippet))
|
||||||
}),
|
})
|
||||||
fullScreen: false,
|
|
||||||
widthOfNoteDetail: 0,
|
|
||||||
widthOfMainBody: 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,25 +191,7 @@ class SnippetNoteDetail extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleFullScreenButton (e) {
|
handleFullScreenButton (e) {
|
||||||
this.setState({ fullScreen: !this.state.fullScreen }, () => {
|
ee.emit('editor:fullscreen')
|
||||||
const noteDetail = document.querySelector('.NoteDetail')
|
|
||||||
const mainBody = document.querySelector('#main-body')
|
|
||||||
const sliderRight = document.querySelector('#slider-right')
|
|
||||||
const sliderLeft = document.querySelector('#slider-left')
|
|
||||||
if (this.state.fullScreen) {
|
|
||||||
this.state.widthOfNoteDetail = noteDetail.style.left
|
|
||||||
this.state.widthOfMainBody = mainBody.style.left
|
|
||||||
noteDetail.style.left = '0px'
|
|
||||||
mainBody.style.left = '0px'
|
|
||||||
sliderRight.style.display = 'none'
|
|
||||||
sliderLeft.style.display = 'none'
|
|
||||||
} else {
|
|
||||||
noteDetail.style.left = this.state.widthOfNoteDetail
|
|
||||||
mainBody.style.left = this.state.widthOfMainBody
|
|
||||||
sliderRight.style.display = 'block'
|
|
||||||
sliderLeft.style.display = 'block'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
handleTabPlusButtonClick (e) {
|
handleTabPlusButtonClick (e) {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import modal from 'browser/main/lib/modal'
|
|||||||
import InitModal from 'browser/main/modals/InitModal'
|
import InitModal from 'browser/main/modals/InitModal'
|
||||||
import mixpanel from 'browser/main/lib/mixpanel'
|
import mixpanel from 'browser/main/lib/mixpanel'
|
||||||
import mobileAnalytics from 'browser/main/lib/awsMobileAnalyticsConfig'
|
import mobileAnalytics from 'browser/main/lib/awsMobileAnalyticsConfig'
|
||||||
|
import eventEmitter from 'browser/main/lib/eventEmitter'
|
||||||
|
|
||||||
function focused () {
|
function focused () {
|
||||||
mixpanel.track('MAIN_FOCUSED')
|
mixpanel.track('MAIN_FOCUSED')
|
||||||
@@ -30,8 +31,11 @@ class Main extends React.Component {
|
|||||||
isRightSliderFocused: false,
|
isRightSliderFocused: false,
|
||||||
listWidth: config.listWidth,
|
listWidth: config.listWidth,
|
||||||
navWidth: config.navWidth,
|
navWidth: config.navWidth,
|
||||||
isLeftSliderFocused: false
|
isLeftSliderFocused: false,
|
||||||
|
fullScreen: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.fullScreenEditorCode = () => this.handleFullScreenButton()
|
||||||
}
|
}
|
||||||
|
|
||||||
getChildContext () {
|
getChildContext () {
|
||||||
@@ -66,11 +70,13 @@ class Main extends React.Component {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
eventEmitter.on('editor:fullscreen', this.fullScreenEditorCode)
|
||||||
window.addEventListener('focus', focused)
|
window.addEventListener('focus', focused)
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount () {
|
componentWillUnmount () {
|
||||||
window.removeEventListener('focus', focused)
|
window.removeEventListener('focus', focused)
|
||||||
|
eventEmitter.off('editor:fullscreen', this.fullScreenEditorCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
handleLeftSlideMouseDown (e) {
|
handleLeftSlideMouseDown (e) {
|
||||||
@@ -147,6 +153,24 @@ class Main extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleFullScreenButton (e) {
|
||||||
|
this.setState({ fullScreen: !this.state.fullScreen }, () => {
|
||||||
|
const noteDetail = document.querySelector('.NoteDetail')
|
||||||
|
const mainBody = document.querySelector('#main-body')
|
||||||
|
const sliderRight = document.querySelector('#slider-right')
|
||||||
|
const sliderLeft = document.querySelector('#slider-left')
|
||||||
|
if (this.state.fullScreen) {
|
||||||
|
noteDetail.style.left = '0px'
|
||||||
|
mainBody.style.left = '0px'
|
||||||
|
sliderRight.style.display = 'none'
|
||||||
|
sliderLeft.style.display = 'none'
|
||||||
|
} else {
|
||||||
|
sliderRight.style.display = 'block'
|
||||||
|
sliderLeft.style.display = 'block'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
let { config } = this.props
|
let { config } = this.props
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user