import { JSONAPI } from 'vuejs/api/json-axios' import { MA } from 'vuejs/api/ma-axios' import qs from 'querystring' export default { namespaced: true, // initial state state : { keys: "", autocomplete: "", items: [], limit: 15, offset: 0 }, // getters getters : {}, // mutations mutations : { setItems (state, items) { state.items = items }, setKeys (state, keys) { state.keys = keys }, setAutocomplete (state, autocomplete) { state.autocomplete = autocomplete }, resetOffset(state) { state.offset = 0 }, incrementOffset(state) { state.offset += state.limit } }, // actions actions : { newSearch({ dispatch, commit, state }, keys, autocomplete) { commit('resetOffset') commit('setKeys', keys) commit('setAutocomplete', autocomplete) dispatch('getResults') }, getResults ({ dispatch, commit, state }) { let params = { keys: state.keys, autocomplete: state.autocomplete, offset:state.offset, limit: state.limit } console.log('Search getResults params', params); let q = qs.stringify(params) return MA.get(`/materio_sapi/getresults?`+q) .then(({ data }) => { console.log('search MA getresults data', data) commit('setItems', data.items) }) .catch(( error ) => { console.warn('Issue with getResults', error) Promise.reject(error) }) } } }