add pages store module
This commit is contained in:
+3
-1
@@ -4,6 +4,7 @@ import Vuex from 'vuex'
|
||||
import nodes from './nodes'
|
||||
import library from './modules/library'
|
||||
import kit from './modules/kit'
|
||||
import pages from './modules/pages'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
@@ -11,6 +12,7 @@ export default new Vuex.Store({
|
||||
...nodes,
|
||||
modules: {
|
||||
library,
|
||||
kit
|
||||
kit,
|
||||
pages
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import api from '@/api'
|
||||
import { Page } from '@/api/queries'
|
||||
|
||||
|
||||
export default {
|
||||
state: {
|
||||
welcome: undefined,
|
||||
intro: undefined,
|
||||
ids: {
|
||||
welcome: 1,
|
||||
intro: 207
|
||||
}
|
||||
},
|
||||
|
||||
mutations: {
|
||||
'SET_PAGE' (state, { slug, page }) {
|
||||
state[slug] = page
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
async 'QUERY_PAGE' ({ state, commit, dispatch, getters }, slug) {
|
||||
if (state[slug] !== undefined) return state[slug]
|
||||
return api.query(Page, { id: state.ids[slug] }).then(data => {
|
||||
commit('SET_PAGE', { slug, page: data.page })
|
||||
return state[slug]
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
getters: {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user