diff --git a/browser/components/CodeEditor.js b/browser/components/CodeEditor.js index 830cb48b..cf2cff4e 100644 --- a/browser/components/CodeEditor.js +++ b/browser/components/CodeEditor.js @@ -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) diff --git a/browser/finder/index.js b/browser/finder/index.js index eeb7e61c..e65e1a6b 100644 --- a/browser/finder/index.js +++ b/browser/finder/index.js @@ -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) diff --git a/browser/main/HomePage/ArticleDetail/index.js b/browser/main/HomePage/ArticleDetail/index.js index 3e1188b9..c527085a 100644 --- a/browser/main/HomePage/ArticleDetail/index.js +++ b/browser/main/HomePage/ArticleDetail/index.js @@ -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() } } diff --git a/browser/main/HomePage/index.js b/browser/main/HomePage/index.js index cb67fefb..5b199b06 100644 --- a/browser/main/HomePage/index.js +++ b/browser/main/HomePage/index.js @@ -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) diff --git a/browser/main/modal/CreateNewFolder.js b/browser/main/modal/CreateNewFolder.js index 6ecca2ac..eb797a0c 100644 --- a/browser/main/modal/CreateNewFolder.js +++ b/browser/main/modal/CreateNewFolder.js @@ -33,7 +33,6 @@ export default class CreateNewFolder extends React.Component { name, color } - console.log(input) try { store.dispatch(createFolder(input)) } catch (e) { diff --git a/browser/main/modal/Preference/FolderSettingTab.js b/browser/main/modal/Preference/FolderSettingTab.js index 48e0e664..a466dbe7 100644 --- a/browser/main/modal/Preference/FolderSettingTab.js +++ b/browser/main/modal/Preference/FolderSettingTab.js @@ -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 { diff --git a/browser/main/reducer.js b/browser/main/reducer.js index 4f42b445..944b9a0c 100644 --- a/browser/main/reducer.js +++ b/browser/main/reducer.js @@ -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') }