1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import { JSONAPI } from 'vuejs/api/json-axios'
- import { REST } from 'vuejs/api/rest-axios'
- import { MA } from 'vuejs/api/ma-axios'
- import qs from 'querystring'
- export default {
- namespaced: true,
- // initial state
- state : {
- items: [],
- page: 0,
- // infinteState will come from vue-infinite-loading plugin
- // implemented in vuejs/components/Content/Base.vue
- infiniteLoadingState: null
- },
- // getters
- getters : {},
- // mutations
- mutations : {
- setItems (state, items) {
- state.items = state.items.concat(items)
- },
- incrementPage(state){
- state.page += 1;
- },
- setInfiniteState(state, infiniteLoadingstate){
- state.infiniteLoadingState = infiniteLoadingstate
- }
- },
- // actions
- actions : {
- getItems({ dispatch, commit, state }){
- REST.get(`/blabla_rest?_format=json&page=${state.page}`, {})
- .then(({ data }) => {
- console.log('blabla REST: data', data)
- if(data.length){
- commit('setItems',data)
- // console.log('items.length', this.items.length);
- if(state.infiniteLoadingState)
- state.infiniteLoadingState.loaded()
- }else{
- if(state.infiniteLoadingState)
- state.infiniteLoadingState.complete()
- }
- })
- .catch(( error ) => {
- console.warn('Issue with blabla', error)
- Promise.reject(error)
- })
- },
- nextPage ({ dispatch, commit, state }, $infiniteLoadingstate) {
- console.log("Search nextPage", $infiniteLoadingstate);
- commit('incrementPage')
- commit('setInfiniteState', $infiniteLoadingstate)
- dispatch('getItems')
- }
- }
- }
|