feat(client): ミューテーション監視をやめてページリロードするように

This commit is contained in:
syuilo 2020-07-12 00:12:30 +09:00
parent 99c92749ad
commit dc99fce868
3 changed files with 5 additions and 14 deletions

View file

@ -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: {

View file

@ -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: {

View file

@ -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;
},
} }
}, },