12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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("blabla nextPage", $infiniteLoadingstate);
- commit('incrementPage')
- commit('setInfiniteState', $infiniteLoadingstate)
- dispatch('getItems')
- },
- getItemIndex({ dispatch, commit, state}, uuid) {
- return state.items.findIndex((e) =>{
- return e.uuid == uuid
- })
- },
- getPrevNextItems({ dispatch, commit, state }, index) {
- return {
- prev:state.items[index-1],
- next:state.items[index+1]
- }
- }
- }
- }
|