From 960bf5d3c8a91a51b46a6752ef9872ceea03ab22 Mon Sep 17 00:00:00 2001 From: dartcafe Date: Sat, 23 May 2020 20:47:59 +0200 Subject: namespaced settings --- src/js/App.vue | 2 +- src/js/components/Navigation/NavigationSettings.vue | 4 ++-- src/js/store/modules/settings.js | 18 ++++++++---------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/js/App.vue b/src/js/App.vue index 280021e0..7b870b0d 100644 --- a/src/js/App.vue +++ b/src/js/App.vue @@ -93,7 +93,7 @@ export default { }) - this.$store.dispatch('getSettings') + this.$store.dispatch('settings/get') if (getCurrentUser()) { this.updatePolls() subscribe('update-polls', () => { diff --git a/src/js/components/Navigation/NavigationSettings.vue b/src/js/components/Navigation/NavigationSettings.vue index df869895..d17f7983 100644 --- a/src/js/components/Navigation/NavigationSettings.vue +++ b/src/js/components/Navigation/NavigationSettings.vue @@ -97,8 +97,8 @@ export default { methods: { writeValue(value) { - this.$store.commit('setUserSetting', value) - this.$store.dispatch('writeSetting') + this.$store.commit('settings/setPreference', value) + this.$store.dispatch('settings/write') }, }, } diff --git a/src/js/store/modules/settings.js b/src/js/store/modules/settings.js index 43a4b6fd..d1f1b1c9 100644 --- a/src/js/store/modules/settings.js +++ b/src/js/store/modules/settings.js @@ -36,39 +36,37 @@ const defaultSettings = () => { } const state = defaultSettings() +const namespaced = true const mutations = { reset(state) { Object.assign(state, defaultSettings()) }, - setUserSetting(state, payload) { + setPreference(state, payload) { Object.assign(state.user, payload) }, } -const getters = { -} - const actions = { - getSettings(context) { + get(context) { const endPoint = 'apps/polls/preferences/get' return axios.get(generateUrl(endPoint)) .then((response) => { - context.commit('setUserSetting', JSON.parse(response.data.preferences)) + context.commit('setPreference', JSON.parse(response.data.preferences)) }) .catch(() => { context.commit('reset') }) }, - writeSetting(context) { + write(context) { const endPoint = 'apps/polls/preferences/write' - // context.commit('setUserSetting', { settings: payload }) + // context.commit('setPreference', { settings: payload }) return axios.post(generateUrl(endPoint), { settings: context.state.user }) .then((response) => { - context.commit('setUserSetting', JSON.parse(response.data.preferences)) + context.commit('setPreference', JSON.parse(response.data.preferences)) }) .catch((error) => { console.error('Error writing preferences', { error: error.response }, { preferences: state.user }) @@ -78,4 +76,4 @@ const actions = { } -export default { state, mutations, getters, actions } +export default { namespaced, state, mutations, actions } -- cgit v1.2.3