Prevent scrolling when modal is shown

This commit is contained in:
Ramon Wenger 2018-09-05 16:02:02 +02:00
parent 54d6a884a7
commit b0520773ed
2 changed files with 9 additions and 5 deletions

View File

@ -26,7 +26,6 @@
showModal() { showModal() {
return this.$store.state.showModal return this.$store.state.showModal
} }
}, },
mounted() { mounted() {
@ -38,7 +37,6 @@
@import "styles/main.scss"; @import "styles/main.scss";
.no-scroll { .no-scroll {
height: 100vh; overflow-y: hidden;
overflow: hidden;
} }
</style> </style>

View File

@ -9,7 +9,8 @@ export default new Vuex.Store({
state: { state: {
specialContainerClass: '', specialContainerClass: '',
showFilter: true, showFilter: true,
showModal: false showModal: false,
scrollPosition: 0
}, },
getters: {}, getters: {},
@ -24,10 +25,12 @@ export default new Vuex.Store({
setSpecialContainerClass({commit}, payload) { setSpecialContainerClass({commit}, payload) {
commit('setSpecialContainerClass', payload); commit('setSpecialContainerClass', payload);
}, },
hideModal({commit}) { hideModal({commit, state}) {
document.body.classList.remove('no-scroll');
commit('setModal', false); commit('setModal', false);
}, },
showModal({commit}) { showModal({commit}) {
document.body.classList.add('no-scroll');
commit('setModal', true); commit('setModal', true);
} }
}, },
@ -41,6 +44,9 @@ export default new Vuex.Store({
}, },
setSpecialContainerClass(state, payload) { setSpecialContainerClass(state, payload) {
state.specialContainerClass = payload; state.specialContainerClass = payload;
},
setScrollPosition(state, payload) {
state.scrollPosition = payload;
} }
} }
}) })