155 lines
4.5 KiB
JavaScript
155 lines
4.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,
|
|
parentModule: '',
|
|
objectiveGroupType: '',
|
|
currentObjectiveGroup: '',
|
|
parentProject: null,
|
|
imageUrl: '',
|
|
infographic: {
|
|
id: 0,
|
|
type: ''
|
|
}
|
|
},
|
|
|
|
getters: {},
|
|
|
|
actions: {
|
|
setSpecialContainerClass({commit}, payload) {
|
|
commit('setSpecialContainerClass', payload);
|
|
},
|
|
hideModal({commit, dispatch}) {
|
|
document.body.classList.remove('no-scroll'); // won't get at the body any other way
|
|
commit('setModal', false);
|
|
dispatch('resetModalState');
|
|
},
|
|
resetModalState({commit}) {
|
|
commit('setCurrentRoomEntry', '');
|
|
commit('setCurrentContentBlock', '');
|
|
commit('setContentBlockPosition', {});
|
|
commit('setParentRoom', null);
|
|
commit('setParentModule', '');
|
|
commit('setObjectiveGroupType', '');
|
|
commit('setCurrentObjectiveGroup', '');
|
|
commit('setParentProject', null);
|
|
commit('setImageUrl', '');
|
|
commit('setInfographic', {
|
|
id: 0,
|
|
type: ''
|
|
});
|
|
},
|
|
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');
|
|
},
|
|
addObjectiveGroup({commit, dispatch}, {module, type}) {
|
|
commit('setParentModule', module);
|
|
commit('setObjectiveGroupType', type);
|
|
dispatch('showModal', 'new-objective-group-wizard');
|
|
},
|
|
editObjectiveGroup({commit, dispatch}, payload) {
|
|
commit('setCurrentObjectiveGroup', payload);
|
|
dispatch('showModal', 'edit-objective-group-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);
|
|
},
|
|
addProjectEntry({commit, dispatch}, payload) {
|
|
commit('setParentProject', payload);
|
|
dispatch('showModal', 'new-project-entry-wizard');
|
|
},
|
|
showFullscreenImage({commit, dispatch}, payload) {
|
|
commit('setImageUrl', payload);
|
|
dispatch('showModal', 'fullscreen-image');
|
|
},
|
|
showFullscreenInfographic({commit, dispatch}, payload) {
|
|
commit('setInfographic', payload);
|
|
dispatch('showModal', 'fullscreen-infographic');
|
|
},
|
|
},
|
|
|
|
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;
|
|
},
|
|
setParentModule(state, payload) {
|
|
state.parentModule = payload;
|
|
},
|
|
setObjectiveGroupType(state, payload) {
|
|
state.objectiveGroupType = payload;
|
|
},
|
|
setCurrentObjectiveGroup(state, payload) {
|
|
state.currentObjectiveGroup = payload;
|
|
},
|
|
setParentProject(state, payload) {
|
|
state.parentProject = payload;
|
|
},
|
|
setImageUrl(state, payload) {
|
|
state.imageUrl = payload;
|
|
},
|
|
setInfographic(state, payload) {
|
|
state.infographic = payload;
|
|
}
|
|
}
|
|
})
|