fix(pjax): prevent pjax:end event handler trigger too many times

fix #4
This commit is contained in:
EnixCoda 2018-02-08 13:00:52 +08:00
parent 6b4591c9de
commit b5865febc4

View file

@ -68,14 +68,20 @@ export default class GitakoSideBar extends preact.Component {
this.setState({ loading: true })
}
onPJAXEnd = () => {
const { metaData } = this.state
this.setState({ loading: false })
this.setShouldShow(URLHelper.isInCodePage(metaData))
this.decorateGitHubPageContent()
DOMHelper.scrollToRepoContent()
DOMHelper.focusSearchInput()
}
onPJAXEnd = (() => {
let lastLocation
return () => {
if (location.href !== lastLocation) {
lastLocation = location.href
const { metaData } = this.state
this.setState({ loading: false })
this.setShouldShow(URLHelper.isInCodePage(metaData))
this.decorateGitHubPageContent()
DOMHelper.scrollToRepoContent()
DOMHelper.focusSearchInput()
}
}
})()
decorateGitHubPageContent() {
DOMHelper.attachCopyFileBtn()