1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

fix scrolling in note list

This commit is contained in:
Baptiste Augrain
2018-10-01 18:16:26 +02:00
parent 2ccd00a378
commit e9dac8c8f3
2 changed files with 13 additions and 10 deletions

View File

@@ -2,7 +2,6 @@
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import React from 'react' import React from 'react'
import CSSModules from 'browser/lib/CSSModules' import CSSModules from 'browser/lib/CSSModules'
import debounceRender from 'react-debounce-render'
import styles from './NoteList.styl' import styles from './NoteList.styl'
import moment from 'moment' import moment from 'moment'
import _ from 'lodash' import _ from 'lodash'
@@ -1078,4 +1077,4 @@ NoteList.propTypes = {
}) })
} }
export default debounceRender(CSSModules(NoteList, styles)) export default CSSModules(NoteList, styles)

View File

@@ -6,6 +6,7 @@ import _ from 'lodash'
import ee from 'browser/main/lib/eventEmitter' import ee from 'browser/main/lib/eventEmitter'
import NewNoteButton from 'browser/main/NewNoteButton' import NewNoteButton from 'browser/main/NewNoteButton'
import i18n from 'browser/lib/i18n' import i18n from 'browser/lib/i18n'
import debounce from 'lodash/debounce'
class TopBar extends React.Component { class TopBar extends React.Component {
constructor (props) { constructor (props) {
@@ -25,6 +26,10 @@ class TopBar extends React.Component {
} }
this.codeInitHandler = this.handleCodeInit.bind(this) this.codeInitHandler = this.handleCodeInit.bind(this)
this.updateKeyword = debounce(this.updateKeyword, 1000 / 60, {
maxWait: 1000 / 8
})
} }
componentDidMount () { componentDidMount () {
@@ -94,7 +99,6 @@ class TopBar extends React.Component {
} }
handleKeyUp (e) { handleKeyUp (e) {
const { router } = this.context
// reset states // reset states
this.setState({ this.setState({
isConfirmTranslation: false isConfirmTranslation: false
@@ -106,21 +110,21 @@ class TopBar extends React.Component {
isConfirmTranslation: true isConfirmTranslation: true
}) })
const keyword = this.refs.searchInput.value const keyword = this.refs.searchInput.value
router.push(`/searched/${encodeURIComponent(keyword)}`) this.updateKeyword(keyword)
this.setState({
search: keyword
})
} }
} }
handleSearchChange (e) { handleSearchChange (e) {
const { router } = this.context
const keyword = this.refs.searchInput.value
if (this.state.isAlphabet || this.state.isConfirmTranslation) { if (this.state.isAlphabet || this.state.isConfirmTranslation) {
router.push(`/searched/${encodeURIComponent(keyword)}`) const keyword = this.refs.searchInput.value
this.updateKeyword(keyword)
} else { } else {
e.preventDefault() e.preventDefault()
} }
}
updateKeyword(keyword) {
this.context.router.push(`/searched/${encodeURIComponent(keyword)}`)
this.setState({ this.setState({
search: keyword search: keyword
}) })