add pages store module
This commit is contained in:
+3
-1
@@ -4,6 +4,7 @@ import Vuex from 'vuex'
|
|||||||
import nodes from './nodes'
|
import nodes from './nodes'
|
||||||
import library from './modules/library'
|
import library from './modules/library'
|
||||||
import kit from './modules/kit'
|
import kit from './modules/kit'
|
||||||
|
import pages from './modules/pages'
|
||||||
|
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
@@ -11,6 +12,7 @@ export default new Vuex.Store({
|
|||||||
...nodes,
|
...nodes,
|
||||||
modules: {
|
modules: {
|
||||||
library,
|
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