diff --git a/browser/main/Detail/InfoPanel.js b/browser/main/Detail/InfoPanel.js index 1165f23a..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, noteLink, updatedAt, createdAt + storageName, folderName, noteLink, 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 e246002b..e13ce074 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={`[${note.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 b5a2ea12..06761b8a 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'] + }) + } + render () { let { data, config, location } = this.props let { note } = this.state @@ -591,6 +600,8 @@ class SnippetNoteDetail extends React.Component { noteLink={`[${note.title}](${location.query.key})`} updatedAt={formatDate(note.updatedAt)} createdAt={formatDate(note.createdAt)} + exportAsMd={this.showWarning} + exportAsTxt={this.showWarning} />