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

enhance editor UX

This commit is contained in:
Dick Choi
2016-01-09 23:03:23 +09:00
parent 673503b76f
commit a505227d01
3 changed files with 31 additions and 12 deletions

View File

@@ -43,7 +43,6 @@ export default class ModeSelect extends React.Component {
}
handleModeOptionClick (modeName) {
console.log(modeName)
return e => {
this.props.onChange(modeName)
this.setState({
@@ -90,7 +89,7 @@ export default class ModeSelect extends React.Component {
let targetMode = filteredModes[this.state.focusIndex]
if (targetMode != null) {
this.props.onChange(targetMode.name)
this.handleBlur()
this.setIdle()
}
}
break
@@ -113,16 +112,18 @@ export default class ModeSelect extends React.Component {
handleBlur (e) {
if (e.target !== ReactDOM.findDOMNode(this.refs.search)) {
this.setState({
mode: IDLE_MODE,
search: '',
focusIndex: 0
}, function () {
if (this.props.onBlur) this.props.onBlur()
})
this.setIdle()
}
}
setIdle () {
this.setState({
mode: IDLE_MODE,
search: '',
focusIndex: 0
})
}
render () {
let className = this.props.className != null
? `ModeSelect ${this.props.className}`
@@ -168,6 +169,5 @@ ModeSelect.propTypes = {
className: PropTypes.string,
value: PropTypes.string,
onChange: PropTypes.func,
onKeyDown: PropTypes.func,
onBlur: PropTypes.func
onKeyDown: PropTypes.func
}