|
@@ -1,20 +1,33 @@
|
|
|
+import Vue from 'vue'
|
|
|
+
|
|
|
export const state = () => ({
|
|
|
item: {},
|
|
|
items: {
|
|
|
all: [],
|
|
|
featured: []
|
|
|
+ },
|
|
|
+ pagination: {
|
|
|
+ count: 0, // Count of all of our published blogs
|
|
|
+ pageCount: 0, // How many pages we want to display
|
|
|
+ pageSize: 2, // How many items we want to display per page
|
|
|
+ pageNum: 1 // Current page
|
|
|
}
|
|
|
})
|
|
|
|
|
|
export const actions = {
|
|
|
- async fetchBlogs({commit, state}) {
|
|
|
- const data = await this.$axios.$get('/api/v1/blogs')
|
|
|
+ // /api/v1/blogs?pageNum=10&pageSize=2
|
|
|
+ async fetchBlogs({commit, state}, filter) {
|
|
|
+ const url = this.$applyParamsToUrl('/api/v1/blogs', filter)
|
|
|
+ const data = await this.$axios.$get(`${url}`)
|
|
|
if(data.isAxiosError === true){
|
|
|
console.log(data.data)
|
|
|
return Error('')
|
|
|
}
|
|
|
- const { blogs } = data
|
|
|
+ // const { blogs } = data
|
|
|
+ // commit('setBlogs', {resource: 'all', blogs})
|
|
|
+ const { blogs, count, pageCount } = data
|
|
|
commit('setBlogs', {resource: 'all', blogs})
|
|
|
+ commit('setPagination', {count, pageCount})
|
|
|
return state.items.all
|
|
|
},
|
|
|
|
|
@@ -37,7 +50,6 @@ export const actions = {
|
|
|
console.log(blog.data)
|
|
|
return Error('')
|
|
|
}
|
|
|
- debugger;
|
|
|
commit('setBlog', blog)
|
|
|
return state.item
|
|
|
}
|
|
@@ -49,5 +61,9 @@ export const mutations = {
|
|
|
},
|
|
|
setBlog(state, blog) {
|
|
|
state.item = blog
|
|
|
+ },
|
|
|
+ setPagination(state, {count, pageCount}) {
|
|
|
+ Vue.set(state.pagination, 'count', count)
|
|
|
+ Vue.set(state.pagination, 'pageCount', pageCount)
|
|
|
}
|
|
|
}
|