Merge branch 'doNotAutoFetchOnUnfocusedTab' into 'develop'

Made it so that unfocused tab doesn't autostream posts when scrolled to the top

See merge request pleroma/pleroma-fe!299
This commit is contained in:
lambda 2018-08-12 10:45:36 +00:00
commit e21f78e519
1 changed files with 13 additions and 2 deletions

View File

@ -13,7 +13,8 @@ const Timeline = {
],
data () {
return {
paused: false
paused: false,
unfocused: false
}
},
computed: {
@ -65,8 +66,15 @@ const Timeline = {
this.fetchFollowers()
}
},
mounted () {
if (typeof document.hidden !== 'undefined') {
document.addEventListener('visibilitychange', this.handleVisibilityChange, false)
this.unfocused = document.hidden
}
},
destroyed () {
window.removeEventListener('scroll', this.scrollLoad)
if (typeof document.hidden !== 'undefined') document.removeEventListener('visibilitychange', this.handleVisibilityChange, false)
this.$store.commit('setLoading', { timeline: this.timelineName, value: false })
},
methods: {
@ -113,6 +121,9 @@ const Timeline = {
(window.innerHeight + window.pageYOffset) >= (height - 750)) {
this.fetchOlderStatuses()
}
},
handleVisibilityChange () {
this.unfocused = document.hidden
}
},
watch: {
@ -122,7 +133,7 @@ const Timeline = {
}
if (count > 0) {
// only 'stream' them when you're scrolled to the top
if (window.pageYOffset < 15 && !this.paused) {
if (window.pageYOffset < 15 && !this.paused && !this.unfocused) {
this.showNewStatuses()
} else {
this.paused = true