From 3b4921b848185ac306d62ac2d92eb3f412d1f89e Mon Sep 17 00:00:00 2001 From: Razvan Moraru Date: Thu, 23 Mar 2017 09:20:02 +0100 Subject: [PATCH 1/3] fix: #288 Fixed Snippet tabs overwriting other tabs when closed --- browser/components/CodeEditor.js | 1 + browser/main/Detail/SnippetNoteDetail.js | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index 68157530..9920cf41 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -201,6 +201,7 @@ export default class CodeEditor extends React.Component { this.editor.setValue(this.props.value) this.editor.clearHistory() this.editor.on('change', this.changeHandler) + this.editor.refresh() } setValue (value) { diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 66c0b673..d80ccdae 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -250,17 +250,21 @@ class SnippetNoteDetail extends React.Component { } deleteSnippetByIndex (index) { - let snippets = this.state.note.snippets.slice() - snippets.splice(index, 1) - this.state.note.snippets = snippets - let snippetIndex = this.state.snippetIndex >= snippets.length - ? snippets.length - 1 - : this.state.snippetIndex - this.setState({ - note: this.state.note, - snippetIndex + this.setState(() => { + let snippets = this.state.note.snippets.slice() + snippets.splice(index, 1) + let note = Object.assign({}, this.state.note, {snippets}) + let snippetIndex = this.state.snippetIndex >= snippets.length + ? snippets.length - 1 + : this.state.snippetIndex + + return { + note, + snippetIndex + } }, () => { this.save() + this.refs['code-' + this.state.snippetIndex].reload() }) } From 966ba06bc4e742a774fff2e402a98dc6d5fad2fa Mon Sep 17 00:00:00 2001 From: Razvan Moraru Date: Thu, 23 Mar 2017 17:50:39 +0100 Subject: [PATCH 2/3] change let to const --- browser/main/Detail/SnippetNoteDetail.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index d80ccdae..bb2c4912 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -251,10 +251,10 @@ class SnippetNoteDetail extends React.Component { deleteSnippetByIndex (index) { this.setState(() => { - let snippets = this.state.note.snippets.slice() + const snippets = this.state.note.snippets.slice() snippets.splice(index, 1) - let note = Object.assign({}, this.state.note, {snippets}) - let snippetIndex = this.state.snippetIndex >= snippets.length + const note = Object.assign({}, this.state.note, {snippets}) + const snippetIndex = this.state.snippetIndex >= snippets.length ? snippets.length - 1 : this.state.snippetIndex From 6540d2670c0de831c4cbfe7d49a51a549d20eb2d Mon Sep 17 00:00:00 2001 From: Razvan Moraru Date: Thu, 23 Mar 2017 21:01:49 +0100 Subject: [PATCH 3/3] better formatting --- browser/main/Detail/SnippetNoteDetail.js | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index bb2c4912..11d6b364 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -250,19 +250,13 @@ class SnippetNoteDetail extends React.Component { } deleteSnippetByIndex (index) { - this.setState(() => { - const snippets = this.state.note.snippets.slice() - snippets.splice(index, 1) - const note = Object.assign({}, this.state.note, {snippets}) - const snippetIndex = this.state.snippetIndex >= snippets.length - ? snippets.length - 1 - : this.state.snippetIndex - - return { - note, - snippetIndex - } - }, () => { + const snippets = this.state.note.snippets.slice() + snippets.splice(index, 1) + const note = Object.assign({}, this.state.note, {snippets}) + const snippetIndex = this.state.snippetIndex >= snippets.length + ? snippets.length - 1 + : this.state.snippetIndex + this.setState({ note, snippetIndex }, () => { this.save() this.refs['code-' + this.state.snippetIndex].reload() })