123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // 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-es3'
- export default {
- namespaced: true,
- // initial state
- state: {
- contenttype: null,
- 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 }) {
- return 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 getitems', 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 }, nid) {
- console.log('getItemIndex nid', nid)
- return state.items.findIndex((e) => {
- // console.log('findIndex', e.nid, nid)
- return e.nid === nid
- })
- },
- getPrevNextItems ({ dispatch, commit, state }, index) {
- // TODO: preload prev and next items
- return {
- prev: state.items[index - 1],
- next: state.items[index + 1]
- }
- }
- }
- }
|