skillbox/client/src/store/index.js

91 lines
2.5 KiB
JavaScript

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {},
state: {
specialContainerClass: '',
showModal: '',
contentBlockPosition: {},
scrollPosition: 0,
filterForSchoolClass: '',
currentContentBlock: '',
currentRoomEntry: '',
parentRoom: null
},
getters: {},
actions: {
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);
},
resetContentBlockPosition({commit}) {
commit('setContentBlockPosition', {});
},
resetCurrentContentBlock({commit}) {
commit('setCurrentContentBlock', '');
},
editContentBlock({commit, dispatch}, payload) {
commit('setCurrentContentBlock', payload);
dispatch('showModal', 'edit-content-block-wizard');
},
addContentBlock({commit, dispatch}, payload) {
commit('setContentBlockPosition', payload);
dispatch('showModal', 'new-content-block-wizard');
},
addRoomEntry({commit, dispatch}, payload) {
commit('setParentRoom', payload);
dispatch('showModal', 'new-room-entry-wizard');
},
editRoomEntry({commit, dispatch}, payload) {
commit('setCurrentRoomEntry', payload);
dispatch('showModal', 'edit-room-entry-wizard');
},
showModal({commit}, payload) {
document.body.classList.add('no-scroll'); // won't get at the body any other way
commit('setModal', payload);
},
setfilterForSchoolClass({commit}, payload) {
commit('setfilterForSchoolClass', payload);
}
},
mutations: {
setModal(state, payload) {
state.showModal = payload;
},
setSpecialContainerClass(state, payload) {
state.specialContainerClass = payload;
},
setScrollPosition(state, payload) {
state.scrollPosition = payload;
},
setNewContentBlock(state, payload) {
state.newContentBlock = payload;
},
setContentBlockPosition(state, payload) {
state.contentBlockPosition = payload;
},
setCurrentContentBlock(state, payload) {
state.currentContentBlock = payload;
},
setfilterForSchoolClass(state, payload) {
state.filterForSchoolClass = payload;
},
setParentRoom(state, payload) {
state.parentRoom = payload;
},
setCurrentRoomEntry(state, payload) {
state.currentRoomEntry = payload;
}
}
})