This commit is contained in:
syuilo
2018-04-17 07:40:19 +09:00
parent 98f3dea20d
commit a0a2cecc73
2 changed files with 20 additions and 21 deletions

View File

@@ -37,8 +37,7 @@ export default Vue.extend({
notes: [],
existMore: false,
connection: null,
connectionId: null,
isTop: true
connectionId: null
};
},
computed: {
@@ -54,18 +53,13 @@ export default Vue.extend({
this.connection.on('follow', this.onChangeFollowing);
this.connection.on('unfollow', this.onChangeFollowing);
window.addEventListener('scroll', this.onScroll);
this.fetch();
this.fetch();
},
beforeDestroy() {
this.connection.off('note', this.onNote);
this.connection.off('follow', this.onChangeFollowing);
this.connection.off('unfollow', this.onChangeFollowing);
this.connection.off('unfollow', this.onChangeFollowing);
(this as any).os.stream.dispose(this.connectionId);
window.removeEventListener('scroll', this.onScroll);
},
methods: {
fetch(cb?) {
@@ -101,18 +95,13 @@ export default Vue.extend({
});
},
onNote(note) {
this.isTop = window.scrollY < 100;
this.notes.unshift(note);
const isTop = window.scrollY > 8;
if (isTop) this.notes.pop();
},
onChangeFollowing() {
this.fetch();
},
onScroll() {
if ((this as any).os.i.clientSettings.fetchOnScroll !== false) {
const current = window.scrollY + window.innerHeight;
if (current > document.body.offsetHeight - 8) this.more();
}
if (window.scrollY > 100) this.isTop = false;
else this.isTop = true;
}
}
});