// 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' import MGQ from 'vuejs/api/graphql-axios' import { print } from 'graphql/language/printer' import gql from 'graphql-tag' import ShowroomFields from 'vuejs/api/gql/showroom.fragment.gql' export default { namespaced: true, // initial state state: { items: [], showrooms_by_tid: {} }, // getters getters: {}, // mutations mutations: { setItems (state, items) { state.items = items items.forEach((item, i) => { state.showrooms_by_tid[item.id] = item }) // console.log('Showroom setitems', state.showrooms_by_tid) } }, // actions actions: { getShowrooms ({ dispatch, commit, state }) { // REST.get('/showrooms_rest?_format=json', {}) // .then(({ data }) => { // console.log('showrooms REST: data', data) // commit('setItems', data) // }) // .catch((error) => { // console.warn('Issue with showrooms', error) // Promise.reject(error) // }) const ast = gql`{ allshowrooms(lang: "${drupalDecoupled.lang_code}") { ...ShowroomFields } } ${ShowroomFields} ` MGQ.post('', { query: print(ast) }) .then(({ data: { data: { allshowrooms } } }) => { console.log('loadshowrooms showrooms loaded', allshowrooms) commit('setItems', allshowrooms) }) .catch(error => { console.warn('Issue with getShowrooms', error) Promise.reject(error) }) } } }