From 6ea2b5e1d945ade0e1085e2e97254fbb59c34007 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sat, 15 Jul 2017 19:33:58 +0900 Subject: [PATCH 1/3] Add exports to infoPanel --- browser/main/Detail/InfoPanel.js | 16 +++++++++++++--- browser/main/Detail/InfoPanel.styl | 3 +++ browser/main/Detail/MarkdownNoteDetail.js | 10 ++++++++++ browser/main/Detail/SnippetNoteDetail.js | 11 +++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/browser/main/Detail/InfoPanel.js b/browser/main/Detail/InfoPanel.js index 1165f23a..618d82c6 100644 --- a/browser/main/Detail/InfoPanel.js +++ b/browser/main/Detail/InfoPanel.js @@ -3,7 +3,7 @@ import CSSModules from 'browser/lib/CSSModules' import styles from './InfoPanel.styl' const InfoPanel = ({ - storageName, folderName, noteLink, updatedAt, createdAt + storageName, folderName, noteKey, updatedAt, createdAt, exportAsMd, exportAsTxt }) => (
@@ -47,7 +47,15 @@ const InfoPanel = ({
-
+
+ exportAsMd(e)} + /> + + exportAsTxt(e)} + /> +
) @@ -56,7 +64,9 @@ InfoPanel.propTypes = { folderName: PropTypes.string.isRequired, noteLink: PropTypes.string.isRequired, updatedAt: PropTypes.string.isRequired, - createdAt: PropTypes.string.isRequired + createdAt: PropTypes.string.isRequired, + exportAsMd: PropTypes.func.isRequired, + exportAsTxt: PropTypes.func.isRequired } export default CSSModules(InfoPanel, styles) diff --git a/browser/main/Detail/InfoPanel.styl b/browser/main/Detail/InfoPanel.styl index f0fd46ad..1a39dac2 100644 --- a/browser/main/Detail/InfoPanel.styl +++ b/browser/main/Detail/InfoPanel.styl @@ -40,6 +40,9 @@ width 160px height 25px +.group-export + height 25px + body[data-theme="dark"] .control-infoButton-panel background-color $ui-dark-noteList-backgroundColor diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 72ab1b36..c1c64079 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -175,6 +175,14 @@ class MarkdownNoteDetail extends React.Component { } + exportAsMd () { + ee.emit('export:save-md') + } + + exportAsTxt () { + ee.emit('export:save-text') + } + handleTrashButtonClick (e) { let { note } = this.state const { isTrashed } = note @@ -352,6 +360,8 @@ class MarkdownNoteDetail extends React.Component { noteLink={`[title](${location.query.key})`} updatedAt={formatDate(note.updatedAt)} createdAt={formatDate(note.createdAt)} + exportAsMd={this.exportAsMd} + exportAsTxt={this.exportAsTxt} /> diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 87220442..79c2dc77 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -466,6 +466,15 @@ class SnippetNoteDetail extends React.Component { if (infoPanel.style) infoPanel.style.display = infoPanel.style.display === 'none' ? 'inline' : 'none' } + showWarning () { + dialog.showMessageBox(remote.getCurrentWindow(), { + type: 'warning', + message: 'Sorry!', + detail: 'md/text import is available only a markdown note.', + buttons: ['OK', 'Cancel'] + }) + } + render () { let { data, config, location } = this.props let { note } = this.state @@ -591,6 +600,8 @@ class SnippetNoteDetail extends React.Component { noteLink={`[title](${location.query.key})`} updatedAt={formatDate(note.updatedAt)} createdAt={formatDate(note.createdAt)} + exportAsMd={this.showWarning} + exportAsTxt={this.showWarning} /> From 5f7b119e5cea6252e40f336417ed7182efaf9920 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 16 Jul 2017 15:06:22 +0900 Subject: [PATCH 2/3] Remove an useless 'cancel' button --- browser/main/Detail/SnippetNoteDetail.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 79c2dc77..22cd76db 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -471,7 +471,7 @@ class SnippetNoteDetail extends React.Component { type: 'warning', message: 'Sorry!', detail: 'md/text import is available only a markdown note.', - buttons: ['OK', 'Cancel'] + buttons: ['OK'] }) } From f450260ff8e6d6d0d9773e5aa7c8565fa2eb72b0 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Sun, 16 Jul 2017 15:16:59 +0900 Subject: [PATCH 3/3] Fix a prop name noteKey to noteLink --- browser/main/Detail/InfoPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/main/Detail/InfoPanel.js b/browser/main/Detail/InfoPanel.js index 618d82c6..cf9a7437 100644 --- a/browser/main/Detail/InfoPanel.js +++ b/browser/main/Detail/InfoPanel.js @@ -3,7 +3,7 @@ import CSSModules from 'browser/lib/CSSModules' import styles from './InfoPanel.styl' const InfoPanel = ({ - storageName, folderName, noteKey, updatedAt, createdAt, exportAsMd, exportAsTxt + storageName, folderName, noteLink, updatedAt, createdAt, exportAsMd, exportAsTxt }) => (