From 41e1630aaca05682d7f0f92cd232ce7da7676b33 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Sun, 15 Nov 2015 00:57:29 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=AB=E3=83=80=E3=83=BC?= =?UTF-8?q?=E3=81=A7=E6=A4=9C=E7=B4=A2=E3=81=99=E3=82=8B=E3=81=A8=E3=81=8D?= =?UTF-8?q?=E3=81=AB=20in:=E3=81=98=E3=82=83=E3=81=AA=E3=81=8F=E3=81=A6=20?= =?UTF-8?q?/=E3=81=AB=E3=81=99=E3=82=8B=20=EF=BC=8B=E3=83=90=E3=82=B0?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser/finder/index.js | 9 +++++---- browser/finder/reducer.js | 4 ++-- browser/main/HomePage.js | 10 +++++----- browser/main/HomePage/ArticleTopBar.js | 4 ++-- lib/reducer.js | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/browser/finder/index.js b/browser/finder/index.js index 7fef8c7d..36521d1c 100644 --- a/browser/finder/index.js +++ b/browser/finder/index.js @@ -119,9 +119,9 @@ FinderMain.propTypes = { function remap (state) { let { articles, folders, status } = state - let filters = status.search.split(' ').map(key => key.trim()).filter(key => key.length > 0 && !key.match(/^#$/)).map(key => { - if (key.match(/^in:.+$/)) { - return {type: FOLDER_FILTER, value: key.match(/^in:(.+)$/)[1]} + let filters = status.search.split(' ').map(key => key.trim()).filter(key => key.length > 0 && !key.match(/^\/$/) && !key.match(/^#$/)).map(key => { + if (key.match(/^\/.+$/)) { + return {type: FOLDER_FILTER, value: key.match(/^\/(.+)$/)[1]} } if (key.match(/^#(.+)/)) { return {type: TAG_FILTER, value: key.match(/^#(.+)$/)[1]} @@ -134,7 +134,7 @@ function remap (state) { if (folders != null) { let targetFolders = folders.filter(folder => { - return _.findWhere(folderFilters, {value: folder.name}) + return _.find(folderFilters, filter => folder.name.match(new RegExp(`^${filter.value}`))) }) status.targetFolders = targetFolders @@ -164,6 +164,7 @@ function remap (state) { let activeArticle = _.findWhere(articles, {key: status.articleKey}) if (activeArticle == null) activeArticle = articles[0] + console.log(status.search) return { articles, activeArticle, diff --git a/browser/finder/reducer.js b/browser/finder/reducer.js index 72b087c3..76ddde7f 100644 --- a/browser/finder/reducer.js +++ b/browser/finder/reducer.js @@ -14,10 +14,10 @@ function status (state = initialStatus, action) { switch (action.type) { case SELECT_ARTICLE: state.articleKey = action.data.key - return state + return Object.assign({}, state) case SEARCH_ARTICLE: state.search = action.data.input - return state + return Object.assign({}, state) default: return state } diff --git a/browser/main/HomePage.js b/browser/main/HomePage.js index 57094068..e3fe68be 100644 --- a/browser/main/HomePage.js +++ b/browser/main/HomePage.js @@ -143,9 +143,9 @@ function remap (state) { }) // Filter articles - let filters = status.search.split(' ').map(key => key.trim()).filter(key => key.length > 0 && !key.match(/^#$/)).map(key => { - if (key.match(/^in:.+$/)) { - return {type: FOLDER_FILTER, value: key.match(/^in:(.+)$/)[1]} + let filters = status.search.split(' ').map(key => key.trim()).filter(key => key.length > 0 && !key.match(/^\/$/) && !key.match(/^#$/)).map(key => { + if (key.match(/^\/.+/)) { + return {type: FOLDER_FILTER, value: key.match(/^\/(.+)$/)[1]} } if (key.match(/^#(.+)/)) { return {type: TAG_FILTER, value: key.match(/^#(.+)$/)[1]} @@ -158,7 +158,7 @@ function remap (state) { if (folders != null) { let targetFolders = folders.filter(folder => { - return _.findWhere(folderFilters, {value: folder.name}) + return _.find(folderFilters, filter => folder.name.match(new RegExp(`^${filter.value}`))) }) status.targetFolders = targetFolders @@ -204,7 +204,7 @@ function remap (state) { let newArticle = _.findWhere(articles, {status: 'NEW'}) let FolderKey = folders[0].key if (folderFilters.length > 0) { - let targetFolder = _.findWhere(folders, {name: folderFilters[0].value}) + let targetFolder = _.find(folders, folder => folder.name.match(new RegExp(`^${folderFilters[0].value}`))) if (targetFolder != null) FolderKey = targetFolder.key } diff --git a/browser/main/HomePage/ArticleTopBar.js b/browser/main/HomePage/ArticleTopBar.js index bfa38cae..285b95de 100644 --- a/browser/main/HomePage/ArticleTopBar.js +++ b/browser/main/HomePage/ArticleTopBar.js @@ -10,7 +10,7 @@ const searchTutorialElement = ( Search some posts!! {'- Search by tag : #{string}'} - {'- Search by folder : in:{folder_name}\n'} + {'- Search by folder : /{folder_name}\n'} - Search by tag : #{'{string}'}
- - Search by folder : in:{'{folder_name}'} + - Search by folder : /{'{folder_name}'} diff --git a/lib/reducer.js b/lib/reducer.js index 52cd5916..0d28efb1 100644 --- a/lib/reducer.js +++ b/lib/reducer.js @@ -131,7 +131,7 @@ function status (state = initialStatus, action) { return state case SWITCH_FOLDER: state.mode = IDLE_MODE - state.search = `in:${action.data} ` + state.search = `/${action.data} ` return state case SWITCH_MODE: