diff --git a/client/src/App.vue b/client/src/App.vue index 0d87bfc2..9e17d019 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -14,6 +14,7 @@ import EditContentBlockWizard from '@/components/content-block-form/EditContentBlockWizard'; import NewRoomEntryWizard from '@/components/rooms/room-entries/NewRoomEntryWizard'; import EditRoomEntryWizard from '@/components/rooms/room-entries/EditRoomEntryWizard'; + import NewObjectiveGroupWizard from '@/components/objective-groups/NewObjectiveGroupWizard'; export default { name: 'App', @@ -26,7 +27,8 @@ NewContentBlockWizard, EditContentBlockWizard, NewRoomEntryWizard, - EditRoomEntryWizard + EditRoomEntryWizard, + NewObjectiveGroupWizard }, computed: { diff --git a/client/src/components/AddObjectiveGroupButton.vue b/client/src/components/AddObjectiveGroupButton.vue new file mode 100644 index 00000000..4a7afd52 --- /dev/null +++ b/client/src/components/AddObjectiveGroupButton.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/client/src/components/modules/Module.vue b/client/src/components/modules/Module.vue index d12ed23c..35537639 100644 --- a/client/src/components/modules/Module.vue +++ b/client/src/components/modules/Module.vue @@ -10,19 +10,25 @@

Lernziele

+ + +

Alles klar?

- - + + + + diff --git a/client/src/components/objective-groups/ObjectiveForm.vue b/client/src/components/objective-groups/ObjectiveForm.vue new file mode 100644 index 00000000..b1c5bc62 --- /dev/null +++ b/client/src/components/objective-groups/ObjectiveForm.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/client/src/store/index.js b/client/src/store/index.js index 50899556..759dbd75 100644 --- a/client/src/store/index.js +++ b/client/src/store/index.js @@ -14,7 +14,9 @@ export default new Vuex.Store({ filterForSchoolClass: '', currentContentBlock: '', currentRoomEntry: '', - parentRoom: null + parentRoom: null, + parentModule: '', + objectiveGroupType: '' }, getters: {}, @@ -23,9 +25,18 @@ export default new Vuex.Store({ setSpecialContainerClass({commit}, payload) { commit('setSpecialContainerClass', payload); }, - hideModal({commit}) { + 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', ''); }, resetContentBlockPosition({commit}) { commit('setContentBlockPosition', {}); @@ -49,6 +60,11 @@ export default new Vuex.Store({ 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'); + }, showModal({commit}, payload) { document.body.classList.add('no-scroll'); // won't get at the body any other way commit('setModal', payload); @@ -85,6 +101,12 @@ export default new Vuex.Store({ }, setCurrentRoomEntry(state, payload) { state.currentRoomEntry = payload; + }, + setParentModule(state, payload) { + state.parentModule = payload; + }, + setObjectiveGroupType(state, payload) { + state.objectiveGroupType = payload; } } })