refactored loadMaterials vuex mixins with graphql
This commit is contained in:
@@ -6,6 +6,11 @@ import { createStore } from 'vuex-extensions'
|
||||
import { JSONAPI } from 'vuejs/api/json-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 materiauFields from 'vuejs/api/gql/materiau.fragment.gql'
|
||||
|
||||
import Common from './modules/common'
|
||||
import User from './modules/user'
|
||||
import Search from './modules/search'
|
||||
@@ -13,6 +18,7 @@ import Blabla from './modules/blabla'
|
||||
import Showrooms from './modules/showrooms'
|
||||
import Pages from './modules/pages'
|
||||
|
||||
|
||||
// https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart
|
||||
|
||||
Vue.use(Vuex)
|
||||
@@ -29,6 +35,33 @@ export default createStore(Vuex.Store, {
|
||||
// https://github.com/huybuidac/vuex-extensions
|
||||
mixins: {
|
||||
actions: {
|
||||
loadMaterialsGQL ({ dispatch }, { ids, gqlfragment, callBack, callBackArgs }) {
|
||||
console.log('loadMaterialsGQL ids', ids)
|
||||
|
||||
let ast = gql`{
|
||||
materiaux(ids: [${ids}]) {
|
||||
...MateriauFields
|
||||
}
|
||||
}
|
||||
${ gqlfragment }
|
||||
`
|
||||
MGQ.post('', { query: print(ast) })
|
||||
.then(( resp ) => {
|
||||
console.log('loadMaterialsGQL resp', resp )
|
||||
dispatch('parseMaterialsGQL', {
|
||||
items: resp.data.data.materiaux,
|
||||
callBack: callBack,
|
||||
callBackArgs: callBackArgs
|
||||
})
|
||||
})
|
||||
.catch(error => {
|
||||
console.warn('Issue with loadMaterials', error)
|
||||
Promise.reject(error)
|
||||
})
|
||||
},
|
||||
parseMaterialsGQL ({ dispatch }, { items, callBack, callBackArgs }) {
|
||||
dispatch(callBack, { items: items, callBackArgs: callBackArgs })
|
||||
},
|
||||
loadMaterials ({ dispatch }, { uuids, imgStyle, callBack, callBackArgs }) {
|
||||
const params = {
|
||||
// include: 'images', // no needs to include thanks to consumers_image_styles module
|
||||
|
Reference in New Issue
Block a user