diff --git a/vue-client/static/js/data-store.js b/vue-client/static/js/data-store.js index c8240f5..8b49b2e 100644 --- a/vue-client/static/js/data-store.js +++ b/vue-client/static/js/data-store.js @@ -1,19 +1,32 @@ +export const Modes = { + VIEW: "VIEW", + ADD: "ADD", + EDIT: "EDIT" +} + export const dataStore = Vuex.createStore({ state () { - editMode : false; + mode : Modes.VIEW; + oldStudent : new Object(); selectedStudent : new Object(); }, mutations: { add(state) { state.selectedStudent = new Object(); - state.editMode = false; + state.mode = Modes.ADD; }, edit(state, student) { state.selectedStudent = student; - state.editMode = true; + state.oldStudent = student; + state.mode = Modes.EDIT; }, view(state, student) { state.selectedStudent = student; + state.mode = Modes.VIEW; + }, + oldStudent(state) { + state.selectedStudent = state.oldStudent; + state.mode = Modes.VIEW; } }, plugins: [window.createPersistedState({storage: window.sessionStorage})]