From 3882df41f194d3daffc7891fe8cf2bb742b28b5e Mon Sep 17 00:00:00 2001 From: Dick Choi Date: Thu, 21 Jul 2016 22:51:18 +0900 Subject: [PATCH] fix tag search bug --- browser/main/TopBar/index.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/browser/main/TopBar/index.js b/browser/main/TopBar/index.js index 1dc64ace..cf435e93 100644 --- a/browser/main/TopBar/index.js +++ b/browser/main/TopBar/index.js @@ -1,10 +1,7 @@ import React, { PropTypes } from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './TopBar.styl' -import activityRecord from 'browser/lib/activityRecord' import _ from 'lodash' -import Commander from 'browser/main/lib/Commander' -import dataApi from 'browser/main/lib/dataApi' import modal from 'browser/main/lib/modal' import NewNoteModal from 'browser/main/modals/NewNoteModal' import { hashHistory } from 'react-router' @@ -53,16 +50,23 @@ class TopBar extends React.Component { searchBlocks.forEach((block) => { if (block.match(/^#.+/)) { let tag = block.match(/#(.+)/)[1] - notes = notes.filter((note) => note.tags.some((_tag) => _tag === tag)) + notes = notes + .filter((note) => { + if (!_.isArray(note.tags)) return false + return note.tags.some((_tag) => { + return _tag === tag + }) + }) + } else { + notes = notes.filter((note) => { + if (note.type === 'SNIPPET_NOTE') { + return note.description.match(block) + } else if (note.type === 'MARKDOWN_NOTE') { + return note.content.match(block) + } + return false + }) } - notes = notes.filter((note) => { - if (note.type === 'SNIPPET_NOTE') { - return note.description.match(block) - } else if (note.type === 'MARKDOWN_NOTE') { - return note.content.match(block) - } - return false - }) }) return notes