skillbox/client/src/store/index.js

79 lines
2.0 KiB
JavaScript

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {},
state: {
specialContainerClass: '',
showFilter: true,
showModal: false,
showNewContentBlockModal: false,
contentBlockPosition: {},
scrollPosition: 0,
moduleSlug: 'mein-neues-umfeld',
updateContentBlocks: false
},
getters: {},
actions: {
hideFilter({commit}) {
commit('setFilter', false)
},
showFilter({commit}) {
commit('setFilter', true)
},
setSpecialContainerClass({commit}, payload) {
commit('setSpecialContainerClass', payload);
},
hideModal({commit}) {
document.body.classList.remove('no-scroll'); // won't get at the body any other way
commit('setModal', false);
},
resetContentBlock({commit}) {
commit('setContentBlockPosition', {});
},
addContentBlock({commit, dispatch}, payload) {
commit('setContentBlockPosition', payload);
dispatch('showModal', 'new-content-block-wizard');
},
showModal({commit}, payload) {
document.body.classList.add('no-scroll'); // won't get at the body any other way
commit('setModal', payload);
},
updateContentBlocks({commit}) {
commit('updateContentBlocks', true);
},
resetUpdateContentBlocksFlag({commit}) {
commit('updateContentBlocks', false);
}
},
mutations: {
setFilter(state, payload) {
state.showFilter = payload;
},
setModal(state, payload) {
state.showModal = payload;
},
setSpecialContainerClass(state, payload) {
state.specialContainerClass = payload;
},
setScrollPosition(state, payload) {
state.scrollPosition = payload;
},
setNewContentBlock(state, payload) {
state.newContentBlock = payload;
},
updateContentBlocks(state, payload) {
state.updateContentBlocks = payload;
},
setContentBlockPosition(state, payload) {
state.contentBlockPosition = payload;
}
}
})