mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-26 20:07:33 -07:00
feat(client): ミューテーション監視をやめてページリロードするように
This commit is contained in:
parent
99c92749ad
commit
dc99fce868
3 changed files with 5 additions and 14 deletions
|
@ -201,7 +201,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
enableInfiniteScroll: {
|
enableInfiniteScroll: {
|
||||||
get() { return this.$store.state.device.enableInfiniteScroll; },
|
get() { return this.$store.state.device.enableInfiniteScroll; },
|
||||||
set(value) { this.$store.commit('device/setInfiniteScrollEnabling', value); }
|
set(value) { this.$store.commit('device/set', { key: 'enableInfiniteScroll', value }); }
|
||||||
},
|
},
|
||||||
|
|
||||||
fixedWidgetsPosition: {
|
fixedWidgetsPosition: {
|
||||||
|
@ -294,6 +294,10 @@ export default Vue.extend({
|
||||||
fixedWidgetsPosition() {
|
fixedWidgetsPosition() {
|
||||||
location.reload()
|
location.reload()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
enableInfiniteScroll() {
|
||||||
|
location.reload()
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -22,7 +22,6 @@ export default (opts) => ({
|
||||||
&& this.fetchMore()
|
&& this.fetchMore()
|
||||||
),
|
),
|
||||||
loadMoreElement: null as Element,
|
loadMoreElement: null as Element,
|
||||||
unsubscribeInfiniteScrollMutation: null as any,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -65,13 +64,6 @@ export default (opts) => ({
|
||||||
this.loadMoreElement = this.$refs.loadMore instanceof Element ? this.$refs.loadMore : this.$refs.loadMore.$el;
|
this.loadMoreElement = this.$refs.loadMore instanceof Element ? this.$refs.loadMore : this.$refs.loadMore.$el;
|
||||||
if (this.$store.state.device.enableInfiniteScroll) this.ilObserver.observe(this.loadMoreElement);
|
if (this.$store.state.device.enableInfiniteScroll) this.ilObserver.observe(this.loadMoreElement);
|
||||||
this.loadMoreElement.addEventListener('click', this.fetchMore);
|
this.loadMoreElement.addEventListener('click', this.fetchMore);
|
||||||
|
|
||||||
this.unsubscribeInfiniteScrollMutation = this.$store.subscribe(mutation => {
|
|
||||||
if (mutation.type !== 'device/setInfiniteScrollEnabling') return;
|
|
||||||
|
|
||||||
if (mutation.payload) return this.ilObserver.observe(this.loadMoreElement);
|
|
||||||
return this.ilObserver.unobserve(this.loadMoreElement);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -79,7 +71,6 @@ export default (opts) => ({
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.ilObserver.disconnect();
|
this.ilObserver.disconnect();
|
||||||
if (this.$refs.loadMore) this.loadMoreElement.removeEventListener('click', this.fetchMore);
|
if (this.$refs.loadMore) this.loadMoreElement.removeEventListener('click', this.fetchMore);
|
||||||
if (this.unsubscribeInfiniteScrollMutation) this.unsubscribeInfiniteScrollMutation();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -355,10 +355,6 @@ export default () => new Vuex.Store({
|
||||||
setUserData(state, x: { userId: string; data: any }) {
|
setUserData(state, x: { userId: string; data: any }) {
|
||||||
state.userData[x.userId] = copy(x.data);
|
state.userData[x.userId] = copy(x.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
setInfiniteScrollEnabling(state, x: boolean) {
|
|
||||||
state.enableInfiniteScroll = x;
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue