diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 98460b48..3652017c 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -115,6 +115,7 @@ class NoteDetail extends React.Component { }) + let viewList = note.snippets.map((snippet, index) => { let isActive = this.state.snippetIndex === index let mode = snippet.mode === 'text' @@ -133,7 +134,7 @@ class NoteDetail extends React.Component { /> {snippet.mode === 'markdown' diff --git a/browser/finder/NoteList.js b/browser/finder/NoteList.js index 7087eb53..30d0163a 100644 --- a/browser/finder/NoteList.js +++ b/browser/finder/NoteList.js @@ -54,12 +54,12 @@ class NoteList extends React.Component { } render () { - let { storages, notes, index } = this.props + let { storageMap, notes, index } = this.props let notesList = notes .slice(0, 10 + 10 * this.state.range) .map((note, _index) => { - let storage = _.find(storages, {key: note.storage}) + let storage = storageMap[note.storage] let folder = _.find(storage.folders, {key: note.folder}) return ( this.handleStorageButtonClick(e, storage)} - handleFolderButtonClick={(e, storage, folder) => this.handleFolderButtonClick(e, storage, folder)} - />) + let storageList = [] + for (let key in data.storageMap) { + let storage = data.storageMap[key] + let item = ( + this.handleStorageButtonClick(e, storage)} + handleFolderButtonClick={(e, storage, folder) => this.handleFolderButtonClick(e, storage, folder)} + /> + ) + storageList.push(item) + } + let notes = [] + let noteIds + + switch (filter.type) { + case 'STORAGE': + noteIds = data.storageNoteMap[filter.storage] + break + case 'FOLDER': + noteIds = data.folderNoteMap[filter.storage + '-' + filter.folder] + break + case 'STARRED': + noteIds = data.starredSet + } + if (noteIds != null) { + noteIds.forEach((id) => { + notes.push(data.noteMap[id]) + }) + } else { + for (let key in data.noteMap) { + notes.push(data.noteMap[key]) + } + } + if (!filter.includeSnippet && filter.includeMarkdown) { notes = notes.filter((note) => note.type === 'MARKDOWN_NOTE') } else if (filter.includeSnippet && !filter.includeMarkdown) { notes = notes.filter((note) => note.type === 'SNIPPET_NOTE') } - switch (filter.type) { - case 'STORAGE': - notes = notes.filter((note) => note.storage === filter.storage) - break - case 'FOLDER': - notes = notes.filter((note) => note.storage === filter.storage && note.folder === filter.folder) - break - case 'STARRED': - notes = notes.filter((note) => note.isStarred) - } - if (search.trim().length > 0) { let needle = new RegExp(_.escapeRegExp(search.trim()), 'i') notes = notes.filter((note) => note.title.match(needle)) @@ -302,7 +320,7 @@ class FinderMain extends React.Component {