From f77e88b2d8a808442ab1c2fc875c24e9656239d8 Mon Sep 17 00:00:00 2001 From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de> Date: Sun, 10 Dec 2017 14:13:24 +0100 Subject: [PATCH] New store module for student-data --- frontend/src/store/modules/student-page.js | 36 ++++++++++++++++++++++ frontend/src/store/store.js | 4 ++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 frontend/src/store/modules/student-page.js diff --git a/frontend/src/store/modules/student-page.js b/frontend/src/store/modules/student-page.js new file mode 100644 index 00000000..8d593808 --- /dev/null +++ b/frontend/src/store/modules/student-page.js @@ -0,0 +1,36 @@ +import ax from '../api' + +const studentPage = { + state: { + studentName: '', + exam: {}, + submissionTypes: [], + submissions: [] + }, + mutations: { + 'SET_STUDENT_NAME': function (state, name) { + state.studentName = name + }, + 'SET_EXAM': function (state, exam) { + state.exam = exam + }, + 'SET_SUBMISSION_TYPES': function (state, submissionTypes) { + state.submissionTypes = submissionTypes + }, + 'SET_SUBMISSIONS': function (state, submissions) { + state.submissions = submissions + } + }, + actions: { + getStudentData (context) { + ax.get('api/student-page/').then(response => { + const data = response.data + context.commit('SET_STUDENT_NAME', data.name) + context.commit('SET_EXAM', data.exam) + context.commit('SET_SUBMISSIONS', data.submissions) + }) + } + } +} + +export default studentPage diff --git a/frontend/src/store/store.js b/frontend/src/store/store.js index 59525d1c..6e8e4912 100644 --- a/frontend/src/store/store.js +++ b/frontend/src/store/store.js @@ -4,12 +4,14 @@ import ax from './api' import gradySays from './grady_speak' import submissionNotes from './modules/submission-notes' +import studentPage from './modules/student-page' Vue.use(Vuex) const store = new Vuex.Store({ modules: { - submissionNotes: submissionNotes + submissionNotes, + studentPage }, state: { token: '', -- GitLab