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