diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_store.js b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_store.js index 1a795f8c..6a73cb4f 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_store.js +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/_store.js @@ -8,21 +8,24 @@ export default new Vuex.Store({ state: { config: {}, loading: false, - isLoggedIn: !!sessionStorage.getItem('token'), + loggedIn: !!sessionStorage.getItem('token'), countries: [] }, mutations: { loginSuccess (state) { - state.isLoggedIn = true; + state.loggedIn = true; }, loginFailure (state) { - state.isLoggedIn = false; + state.loggedIn = false; }, logout (state) { - state.isLoggedIn = false; + state.loggedIn = false; }, - loading (state, loading) { - state.loading = loading; + loadingBegin (state) { + state.loading = true; + }, + loadingFinish (state) { + state.loading = false; }, setCountries (state, countries) { state.countries = countries; @@ -33,7 +36,7 @@ export default new Vuex.Store({ }, actions: { login({ commit }, credentials) { - commit('loading', true); + commit('loadingBegin'); const formData = new FormData(); formData.append('_username', credentials.email); formData.append('_password', credentials.password); @@ -44,10 +47,10 @@ export default new Vuex.Store({ }).then((response) => { sessionStorage.setItem('token', response.data.token); commit('loginSuccess'); - commit('loading', false); + commit('loadingFinish'); }).catch((error) => { commit('loginFailure'); - commit('loading', false); + commit('loadingFinish'); throw error; }); }, @@ -68,6 +71,84 @@ export default new Vuex.Store({ }).then((response) => { commit('setCountries', response.data); }) + }, + loadAddress ({ commit }) { + commit('loadingBegin'); + return axios({ + url: '/api/addresses', + headers: { + 'x-auth-token': sessionStorage.getItem('token') + } + }).then((response) => { + commit('loadingFinish'); + return response.data[0]; + }).catch((error) => { + commit('loadingFinish'); + throw error; + }); + }, + saveAddress ({ commit }, data) { + commit('loadingBegin'); + return axios({ + url: '/api/addresses/' + data.id, + headers: { + 'x-auth-token': sessionStorage.getItem('token') + }, + method: 'PUT', + data: data + }).then(() => { + commit('loadingFinish'); + }) + .catch((error) => { + commit('loadingFinish'); + throw error; + }); + }, + loadEvents ({ commit }) { + commit('loadingBegin'); + return axios({ + url: '/api/events', + headers: { + 'x-auth-token': sessionStorage.getItem('token') + } + }).then((response) => { + commit('loadingFinish'); + return response.data; + }).catch((error) => { + commit('loadingFinish'); + throw error; + }); + }, + loadCrmData ({ commit }) { + commit('loadingBegin'); + return axios({ + url: '/api/crm-selections', + headers: { + 'x-auth-token': sessionStorage.getItem('token') + } + }).then((response) => { + commit('loadingFinish'); + return response.data[0]; + }).catch((error) => { + commit('loadingFinish'); + throw error; + }); + }, + saveCrmData ({ commit }, data) { + commit('loadingBegin'); + return axios({ + url: '/api/crm-selections/' + this.crmData.id, + headers: { + 'x-auth-token': sessionStorage.getItem('token') + }, + method: 'PUT', + data: data + }).then(() => { + commit('loadingFinish'); + }).catch((error) => { + commit('loadingFinish'); + throw error; + }); } }, getters: { @@ -75,7 +156,7 @@ export default new Vuex.Store({ return state.loading; }, isLoggedIn: state => { - return state.isLoggedIn; + return state.loggedIn; }, authToken () { return sessionStorage.getItem('token') diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue index d0d36805..912f5490 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/myep/components/Address.vue @@ -2,7 +2,9 @@