1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

search filter is now insensitive case, fix minor bugs

This commit is contained in:
Rokt33r
2016-01-08 19:12:37 +09:00
parent 09735b7f47
commit 32e6394b3f
7 changed files with 15 additions and 18 deletions

View File

@@ -80,7 +80,7 @@ export default class CodeEditor extends React.Component {
session.setUseSoftTabs(this.state.indentType === 'space') session.setUseSoftTabs(this.state.indentType === 'space')
session.setTabSize(!isNaN(this.state.indentSize) ? parseInt(this.state.indentSize, 10) : 4) session.setTabSize(!isNaN(this.state.indentSize) ? parseInt(this.state.indentSize, 10) : 4)
session.setOption('useWorker', true) session.setOption('useWorker', false)
session.setUseWrapMode(true) session.setUseWrapMode(true)
session.setValue(this.props.article.content) session.setValue(this.props.article.content)

View File

@@ -176,11 +176,11 @@ function buildFilter (key) {
} }
function isContaining (target, needle) { function isContaining (target, needle) {
return target.match(new RegExp(_.escapeRegExp(needle))) return target.match(new RegExp(_.escapeRegExp(needle), 'i'))
} }
function startsWith (target, needle) { function startsWith (target, needle) {
return target.match(new RegExp('^' + _.escapeRegExp(needle))) return target.match(new RegExp('^' + _.escapeRegExp(needle), 'i'))
} }
function remap (state) { function remap (state) {
@@ -199,10 +199,10 @@ function remap (state) {
let targetFolders let targetFolders
if (folders != null) { if (folders != null) {
let exactTargetFolders = folders.filter(folder => { let exactTargetFolders = folders.filter(folder => {
return _.find(folderExactFilters, filter => isContaining(folder.name, filter.value)) return _.find(folderExactFilters, filter => filter.value.toLowerCase() === folder.name.toLowerCase())
}) })
let fuzzyTargetFolders = folders.filter(folder => { let fuzzyTargetFolders = folders.filter(folder => {
return _.find(folderFilters, filter => startsWith(folder.name, filter.value)) return _.find(folderFilters, filter => startsWith(folder.name.replace(/_/g, ''), filter.value.replace(/_/g, '')))
}) })
targetFolders = status.targetFolders = exactTargetFolders.concat(fuzzyTargetFolders) targetFolders = status.targetFolders = exactTargetFolders.concat(fuzzyTargetFolders)

View File

@@ -18,7 +18,7 @@ import DeleteArticleModal from '../../modal/DeleteArticleModal'
import ArticleEditor from './ArticleEditor' import ArticleEditor from './ArticleEditor'
const electron = require('electron') const electron = require('electron')
const ipc = electron.ipcRenderer const ipc = electron.ipcRenderer
let count = 0
// const remote = electron.remote // const remote = electron.remote
// const { Menu, MenuItem } = remote // const { Menu, MenuItem } = remote
// const othersMenu = new Menu() // const othersMenu = new Menu()
@@ -154,7 +154,7 @@ export default class ArticleDetail extends React.Component {
componentDidUpdate (prevProps, prevState) { componentDidUpdate (prevProps, prevState) {
if (this.props.activeArticle == null || prevProps.activeArticle == null || this.props.activeArticle.key !== prevProps.activeArticle.key) { if (this.props.activeArticle == null || prevProps.activeArticle == null || this.props.activeArticle.key !== prevProps.activeArticle.key) {
this.refs.editor.resetCursorPosition() if (this.refs.editor) this.refs.editor.resetCursorPosition()
} }
} }

View File

@@ -128,11 +128,11 @@ function buildFilter (key) {
} }
function isContaining (target, needle) { function isContaining (target, needle) {
return target.match(new RegExp(_.escapeRegExp(needle))) return target.match(new RegExp(_.escapeRegExp(needle), 'i'))
} }
function startsWith (target, needle) { function startsWith (target, needle) {
return target.match(new RegExp('^' + _.escapeRegExp(needle))) return target.match(new RegExp('^' + _.escapeRegExp(needle), 'i'))
} }
function remap (state) { function remap (state) {
@@ -170,10 +170,10 @@ function remap (state) {
let targetFolders let targetFolders
if (folders != null) { if (folders != null) {
let exactTargetFolders = folders.filter(folder => { let exactTargetFolders = folders.filter(folder => {
return _.findWhere(folderExactFilters, {value: folder.name}) return _.find(folderExactFilters, filter => filter.value.toLowerCase() === folder.name.toLowerCase())
}) })
let fuzzyTargetFolders = folders.filter(folder => { let fuzzyTargetFolders = folders.filter(folder => {
return _.find(folderFilters, filter => startsWith(folder.name, filter.value)) return _.find(folderFilters, filter => startsWith(folder.name.replace(/_/g, ''), filter.value.replace(/_/g, '')))
}) })
targetFolders = status.targetFolders = exactTargetFolders.concat(fuzzyTargetFolders) targetFolders = status.targetFolders = exactTargetFolders.concat(fuzzyTargetFolders)

View File

@@ -33,7 +33,6 @@ export default class CreateNewFolder extends React.Component {
name, name,
color color
} }
console.log(input)
try { try {
store.dispatch(createFolder(input)) store.dispatch(createFolder(input))
} catch (e) { } catch (e) {

View File

@@ -20,8 +20,6 @@ export default class FolderSettingTab extends React.Component {
handleSaveButtonClick (e) { handleSaveButtonClick (e) {
this.setState({alert: null}, () => { this.setState({alert: null}, () => {
if (this.state.name.trim().length === 0) return false
let { dispatch } = this.props let { dispatch } = this.props
try { try {

View File

@@ -70,11 +70,11 @@ function folders (state = initialFolders, action) {
updatedAt: new Date() updatedAt: new Date()
}) })
if (newFolder.name == null && newFolder.name.length === 0) throw new Error('Folder name is required') if (newFolder.name == null || newFolder.name.length === 0) throw new Error('Folder name is required')
if (newFolder.name.match(/\//)) throw new Error('`/` is not available for folder name') if (newFolder.name.match(/\//)) throw new Error('`/` is not available for folder name')
let conflictFolder = _.findWhere(state, {name: newFolder.name}) let conflictFolder = _.find(state, folder => folder.name.toLowerCase() === newFolder.name.toLowerCase())
if (conflictFolder != null) throw new Error(`${newFolder.name} already exists!`) if (conflictFolder != null) throw new Error(`${conflictFolder.name} already exists!`)
state.push(newFolder) state.push(newFolder)
dataStore.setFolders(state) dataStore.setFolders(state)
@@ -96,7 +96,7 @@ function folders (state = initialFolders, action) {
// Name conflict check // Name conflict check
if (targetFolder.name !== folder.name) { if (targetFolder.name !== folder.name) {
let conflictFolder = _.find(state, _folder => { let conflictFolder = _.find(state, _folder => {
return folder.name === _folder.name && folder.key !== _folder.key return folder.name.toLowerCase() === _folder.name.toLowerCase() && folder.key !== _folder.key
}) })
if (conflictFolder != null) throw new Error('Name conflicted') if (conflictFolder != null) throw new Error('Name conflicted')
} }