From 0bc9c6fb5aece79997221c0c895c4218aa70e5af Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Tue, 23 May 2017 15:23:11 +0900 Subject: [PATCH] Change to use the module instead of a function findTitle() implemented inside the file --- browser/main/Detail/MarkdownNoteDetail.js | 41 ++--------------------- browser/main/Detail/SnippetNoteDetail.js | 31 ++--------------- 2 files changed, 4 insertions(+), 68 deletions(-) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 8c63f952..b154c222 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -12,6 +12,7 @@ import ee from 'browser/main/lib/eventEmitter' import markdown from 'browser/lib/markdown' import StatusBar from '../StatusBar' import _ from 'lodash' +import findNoteTitle from 'browser/lib/findNoteTitle' const electron = require('electron') const { remote } = electron @@ -63,44 +64,6 @@ class MarkdownNoteDetail extends React.Component { ee.off('topbar:togglelockbutton', this.toggleLockButton) } - findTitle (value) { - let splitted = value.split('\n') - let title = null - let isMarkdownInCode = false - - splitted.some((line, index) => { - let trimmedLine = line.trim() - let trimmedNextLine = splitted[index + 1] === undefined ? '' : splitted[index + 1].trim() - if (trimmedLine.match('```')) { - isMarkdownInCode = !isMarkdownInCode - } else if (isMarkdownInCode === false && (trimmedLine.match(/^# +/) || trimmedNextLine.match('='))) { - if (trimmedNextLine.match('=')) { - title = trimmedLine.substring(0, trimmedLine.length).trim() - } else { - title = trimmedLine.substring(1, trimmedLine.length).trim() - } - return true - } - }) - - if (title == null) { - for (let i = 0; i < splitted.length; i++) { - let trimmedLine = splitted[i].trim() - if (trimmedLine.length > 0) { - title = trimmedLine - break - } - } - if (title == null) { - title = '' - } - } - - title = markdown.strip(title) - - return title - } - getPercentageOfCompleteTodo (noteContent) { let splitted = noteContent.split('\n') let numberOfTodo = 0 @@ -124,7 +87,7 @@ class MarkdownNoteDetail extends React.Component { note.content = this.refs.content.value note.tags = this.refs.tags.value - note.title = this.findTitle(note.content) + note.title = markdown.strip(findNoteTitle.find(note.content)) note.updatedAt = new Date() this.setState({ diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 14ffe326..2fa96b01 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -15,6 +15,7 @@ import StatusBar from '../StatusBar' import context from 'browser/lib/context' import ConfigManager from 'browser/main/lib/ConfigManager' import _ from 'lodash' +import findNoteTitle from 'browser/lib/findNoteTitle' function pass (name) { switch (name) { @@ -75,41 +76,13 @@ class SnippetNoteDetail extends React.Component { if (this.saveQueue != null) this.saveNow() } - findTitle (value) { - let splitted = value.split('\n') - let title = null - - for (let i = 0; i < splitted.length; i++) { - let trimmedLine = splitted[i].trim() - if (trimmedLine.match(/^# .+/)) { - title = trimmedLine.substring(1, trimmedLine.length).trim() - break - } - } - - if (title == null) { - for (let i = 0; i < splitted.length; i++) { - let trimmedLine = splitted[i].trim() - if (trimmedLine.length > 0) { - title = trimmedLine - break - } - } - if (title == null) { - title = '' - } - } - - return title - } - handleChange (e) { let { note } = this.state note.tags = this.refs.tags.value note.description = this.refs.description.value note.updatedAt = new Date() - note.title = this.findTitle(note.description) + note.title = findNoteTitle.find(note.description) this.setState({ note