1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +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.setTabSize(!isNaN(this.state.indentSize) ? parseInt(this.state.indentSize, 10) : 4)
session.setOption('useWorker', true)
session.setOption('useWorker', false)
session.setUseWrapMode(true)
session.setValue(this.props.article.content)

View File

@@ -176,11 +176,11 @@ function buildFilter (key) {
}
function isContaining (target, needle) {
return target.match(new RegExp(_.escapeRegExp(needle)))
return target.match(new RegExp(_.escapeRegExp(needle), 'i'))
}
function startsWith (target, needle) {
return target.match(new RegExp('^' + _.escapeRegExp(needle)))
return target.match(new RegExp('^' + _.escapeRegExp(needle), 'i'))
}
function remap (state) {
@@ -199,10 +199,10 @@ function remap (state) {
let targetFolders
if (folders != null) {
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 => {
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)

View File

@@ -18,7 +18,7 @@ import DeleteArticleModal from '../../modal/DeleteArticleModal'
import ArticleEditor from './ArticleEditor'
const electron = require('electron')
const ipc = electron.ipcRenderer
let count = 0
// const remote = electron.remote
// const { Menu, MenuItem } = remote
// const othersMenu = new Menu()
@@ -154,7 +154,7 @@ export default class ArticleDetail extends React.Component {
componentDidUpdate (prevProps, prevState) {
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) {
return target.match(new RegExp(_.escapeRegExp(needle)))
return target.match(new RegExp(_.escapeRegExp(needle), 'i'))
}
function startsWith (target, needle) {
return target.match(new RegExp('^' + _.escapeRegExp(needle)))
return target.match(new RegExp('^' + _.escapeRegExp(needle), 'i'))
}
function remap (state) {
@@ -170,10 +170,10 @@ function remap (state) {
let targetFolders
if (folders != null) {
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 => {
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)

View File

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

View File

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

View File

@@ -70,11 +70,11 @@ function folders (state = initialFolders, action) {
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')
let conflictFolder = _.findWhere(state, {name: newFolder.name})
if (conflictFolder != null) throw new Error(`${newFolder.name} already exists!`)
let conflictFolder = _.find(state, folder => folder.name.toLowerCase() === newFolder.name.toLowerCase())
if (conflictFolder != null) throw new Error(`${conflictFolder.name} already exists!`)
state.push(newFolder)
dataStore.setFolders(state)
@@ -96,7 +96,7 @@ function folders (state = initialFolders, action) {
// Name conflict check
if (targetFolder.name !== folder.name) {
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')
}