From 4767f15e9b7f81fa5bda0439f748bcdaf8a628e5 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Fri, 17 Mar 2017 23:16:53 -0700 Subject: [PATCH 01/14] Fix the behavior of a feature what locks the editor --- browser/main/Detail/MarkdownNoteDetail.js | 1 + 1 file changed, 1 insertion(+) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 90f26286..4a2be4d0 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -219,6 +219,7 @@ class MarkdownNoteDetail extends React.Component { e.preventDefault() ee.emit('editor:lock') this.setState({ isLocked: !this.state.isLocked }) + if (this.state.isLocked) this.focus() } getToggleLockButton () { From 8a5558db550cdadc6b7c78109c674963ab038fb6 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Fri, 17 Mar 2017 23:32:44 -0700 Subject: [PATCH 02/14] Change a name showlockbutton to togglelockbutton --- browser/components/MarkdownEditor.js | 8 ++++---- browser/main/Detail/MarkdownNoteDetail.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index b8e44939..3dd6d15c 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -82,7 +82,7 @@ class MarkdownEditor extends React.Component { this.refs.code.blur() this.refs.preview.focus() } - eventEmitter.emit('topbar:showlockbutton') + eventEmitter.emit('topbar:togglelockbutton') }) } } @@ -99,7 +99,7 @@ class MarkdownEditor extends React.Component { this.refs.preview.focus() this.refs.preview.scrollTo(cursorPosition.line) }) - eventEmitter.emit('topbar:showlockbutton') + eventEmitter.emit('topbar:togglelockbutton') } } @@ -115,7 +115,7 @@ class MarkdownEditor extends React.Component { }, () => { this.refs.code.focus() }) - eventEmitter.emit('topbar:showlockbutton') + eventEmitter.emit('topbar:togglelockbutton') } } @@ -152,7 +152,7 @@ class MarkdownEditor extends React.Component { } else { this.refs.code.focus() } - eventEmitter.emit('topbar:showlockbutton') + eventEmitter.emit('topbar:togglelockbutton') } reload () { diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 4a2be4d0..5513953c 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -31,7 +31,7 @@ class MarkdownNoteDetail extends React.Component { } this.dispatchTimer = null - this.showLockButton = this.handleShowLockButton.bind(this) + this.toggleLockButton = this.handleToggleLockButton.bind(this) } focus () { @@ -39,7 +39,7 @@ class MarkdownNoteDetail extends React.Component { } componentDidMount () { - ee.on('topbar:showlockbutton', this.showLockButton) + ee.on('topbar:togglelockbutton', this.toggleLockButton) } componentWillReceiveProps (nextProps) { @@ -59,7 +59,7 @@ class MarkdownNoteDetail extends React.Component { } componentDidUnmount () { - ee.off('topbar:lock', this.showLockButton) + ee.off('topbar:togglelockbutton', this.toggleLockButton) } findTitle (value) { @@ -230,7 +230,7 @@ class MarkdownNoteDetail extends React.Component { if (e.keyCode === 27) this.handleDeleteCancelButtonClick(e) } - handleShowLockButton () { + handleToggleLockButton () { this.setState({editorStatus: this.refs.content.state.status}) } From e7fd18967b9b4df9077ceee5fa3e8eee5feaf3ba Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Fri, 17 Mar 2017 23:37:22 -0700 Subject: [PATCH 03/14] Change a state name editorStatus to isLockButtonShown --- browser/main/Detail/MarkdownNoteDetail.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 5513953c..d800be71 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -26,7 +26,7 @@ class MarkdownNoteDetail extends React.Component { title: '', content: '' }, props.note), - editorStatus: false, + isLockButtonShown: false, isLocked: false } this.dispatchTimer = null @@ -231,7 +231,11 @@ class MarkdownNoteDetail extends React.Component { } handleToggleLockButton () { - this.setState({editorStatus: this.refs.content.state.status}) + if (this.refs.content.state.status === 'CODE') { + this.setState({isLockButtonShown: true}) + } else { + this.setState({isLockButtonShown: false}) + } } handleFocus (e) { @@ -279,7 +283,7 @@ class MarkdownNoteDetail extends React.Component { return ( - this.state.editorStatus === 'CODE' ? lockButtonComponent : '' + this.state.isLockButtonShown ? lockButtonComponent : '' ) })()} return ( this.state.isLockButtonShown ? lockButtonComponent : '' diff --git a/browser/main/Detail/MarkdownNoteDetail.styl b/browser/main/Detail/MarkdownNoteDetail.styl index e23296a4..b5ebc26a 100644 --- a/browser/main/Detail/MarkdownNoteDetail.styl +++ b/browser/main/Detail/MarkdownNoteDetail.styl @@ -9,6 +9,34 @@ background-color $ui-noteDetail-backgroundColor box-shadow $note-detail-box-shadow +.control-lockButton + width 34px + height 34px + border-radius 17px + font-size 14px + margin 13px 7px + padding-top 7px + border none + color $ui-button-color + fill $ui-button-color + background-color transparent + &:active + border-color $ui-button--active-backgroundColor + &:hover .control-lockButton-tooltip + opacity 1 + +.control-lockButton-tooltip + tooltip() + position fixed + pointer-events none + top 50px + z-index 200 + padding 5px + line-height normal + border-radius 2px + opacity 0 + transition 0.1s + .body absolute left right left $note-detail-left-margin @@ -24,3 +52,13 @@ body[data-theme="dark"] border-color $ui-dark-borderColor background-color $ui-dark-noteDetail-backgroundColor box-shadow none + + .control-lockButton + colorDarkDefaultButton() + border-color $ui-dark-borderColor + background-color $ui-dark-noteList-backgroundColor + &:active + border-color $ui-dark-button--active-backgroundColor + + .control-lockButton-tooltip + darkTooltip() diff --git a/browser/main/Detail/NoteDetailInfo.styl b/browser/main/Detail/NoteDetailInfo.styl index eeffd78a..a579d148 100644 --- a/browser/main/Detail/NoteDetailInfo.styl +++ b/browser/main/Detail/NoteDetailInfo.styl @@ -38,7 +38,7 @@ $info-margin-under-border = 27px margin 13px 2px padding 0 border-radius 17px - &:hover .info-right-button-tooltip + &:hover .info-left-button-tooltip opacity 1 &:focus border-color $ui-favorite-star-button-color From 91f24d96b98752e541a458efb0c34e4a0c51a746 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 19 Mar 2017 00:41:55 -0700 Subject: [PATCH 06/14] Fix a bug which cannot read a property when moves to other folder on locking --- browser/components/MarkdownEditor.js | 8 ++++---- browser/main/Detail/MarkdownNoteDetail.js | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 3dd6d15c..9bb50a87 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -82,7 +82,7 @@ class MarkdownEditor extends React.Component { this.refs.code.blur() this.refs.preview.focus() } - eventEmitter.emit('topbar:togglelockbutton') + eventEmitter.emit('topbar:togglelockbutton', this.state.status) }) } } @@ -99,7 +99,7 @@ class MarkdownEditor extends React.Component { this.refs.preview.focus() this.refs.preview.scrollTo(cursorPosition.line) }) - eventEmitter.emit('topbar:togglelockbutton') + eventEmitter.emit('topbar:togglelockbutton', this.state.status) } } @@ -115,7 +115,7 @@ class MarkdownEditor extends React.Component { }, () => { this.refs.code.focus() }) - eventEmitter.emit('topbar:togglelockbutton') + eventEmitter.emit('topbar:togglelockbutton', this.state.status) } } @@ -152,7 +152,7 @@ class MarkdownEditor extends React.Component { } else { this.refs.code.focus() } - eventEmitter.emit('topbar:togglelockbutton') + eventEmitter.emit('topbar:togglelockbutton', this.state.status) } reload () { diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 520c0b90..b475d71e 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -230,8 +230,9 @@ class MarkdownNoteDetail extends React.Component { if (e.keyCode === 27) this.handleDeleteCancelButtonClick(e) } - handleToggleLockButton () { - if (this.props.config.editor.switchPreview === 'BLUR' && this.refs.content.state.status === 'CODE') { + handleToggleLockButton (event, noteStatus) { + // first argument event is not used + if (this.props.config.editor.switchPreview === 'BLUR' && noteStatus === 'CODE') { this.setState({isLockButtonShown: true}) } else { this.setState({isLockButtonShown: false}) From 2af86dfa3ea7ddec4cb908bd52525b68a35b8992 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 19 Mar 2017 01:02:47 -0700 Subject: [PATCH 07/14] Fix the action of hover --- browser/main/Detail/MarkdownNoteDetail.styl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/browser/main/Detail/MarkdownNoteDetail.styl b/browser/main/Detail/MarkdownNoteDetail.styl index b5ebc26a..dc320c9b 100644 --- a/browser/main/Detail/MarkdownNoteDetail.styl +++ b/browser/main/Detail/MarkdownNoteDetail.styl @@ -22,8 +22,10 @@ background-color transparent &:active border-color $ui-button--active-backgroundColor - &:hover .control-lockButton-tooltip - opacity 1 + &:hover + background-color $ui-button--hover-backgroundColor + .control-lockButton-tooltip + opacity 1 .control-lockButton-tooltip tooltip() From 45111e161064e493536b22d788fbd2f2f2196be9 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 19 Mar 2017 01:20:04 -0700 Subject: [PATCH 08/14] Change the styleName info-right-button to control-trashButton because it's not good name * fix the position of lock button --- browser/main/Detail/MarkdownNoteDetail.js | 2 +- browser/main/Detail/MarkdownNoteDetail.styl | 24 +++++++++++++++++++++ browser/main/Detail/NoteDetailInfo.styl | 24 --------------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index b475d71e..d4aa6242 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -290,7 +290,7 @@ class MarkdownNoteDetail extends React.Component { this.state.isLockButtonShown ? lockButtonComponent : '' ) })()} -