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; } } })