|
@@ -9,6 +9,7 @@ export default {
|
|
|
state : {
|
|
|
keys: "",
|
|
|
term: "",
|
|
|
+ uuids: [],
|
|
|
items: [],
|
|
|
offset: 0,
|
|
|
limit: 15,
|
|
@@ -21,10 +22,16 @@ export default {
|
|
|
|
|
|
|
|
|
mutations : {
|
|
|
+ setUuids (state, uuids) {
|
|
|
+ state.uuids = uuids
|
|
|
+ },
|
|
|
+ resetUuids (state) {
|
|
|
+ state.uuids = []
|
|
|
+ },
|
|
|
setItems (state, items) {
|
|
|
state.items = items
|
|
|
},
|
|
|
- resetItems(state) {
|
|
|
+ resetItems (state) {
|
|
|
state.items = []
|
|
|
},
|
|
|
setKeys (state, keys) {
|
|
@@ -51,6 +58,7 @@ export default {
|
|
|
actions : {
|
|
|
newSearch({ dispatch, commit, state }) {
|
|
|
console.log('Search newSearch');
|
|
|
+ commit('resetUuids')
|
|
|
commit('resetItems')
|
|
|
commit('resetOffset')
|
|
|
dispatch('getResults')
|
|
@@ -70,20 +78,21 @@ export default {
|
|
|
|
|
|
commit('setInfos', data.infos)
|
|
|
commit('setCount', data.count)
|
|
|
- dispatch('getItems', data.items)
|
|
|
+ commit('setUuids', data.uuids)
|
|
|
+ dispatch('getItems', data.uuids)
|
|
|
})
|
|
|
.catch(( error ) => {
|
|
|
console.warn('Issue with getResults', error)
|
|
|
Promise.reject(error)
|
|
|
})
|
|
|
},
|
|
|
- getItems({ dispatch, commit, state}, itemslist) {
|
|
|
+ getItems({ dispatch, commit, state }, uuids) {
|
|
|
let params = {
|
|
|
|
|
|
'filter[uuids-groupe][group][conjunction]': 'OR'
|
|
|
};
|
|
|
- for (var i = 0; i < itemslist.length; i++) {
|
|
|
- let uuid = itemslist[i].uuid
|
|
|
+ for (var i = 0; i < uuids.length; i++) {
|
|
|
+ let uuid = uuids[i]
|
|
|
params[`filter[${uuid}][condition][path]`] = 'id'
|
|
|
params[`filter[${uuid}][condition][value]`] = uuid
|
|
|
params[`filter[${uuid}][condition][operator]`] = '='
|
|
@@ -94,7 +103,7 @@ export default {
|
|
|
return JSONAPI.get('node/materiau?'+q)
|
|
|
.then(({ data }) => {
|
|
|
console.log('search getItems data', data)
|
|
|
- dispatch('parseItems', data)
|
|
|
+ dispatch('parseItems', {data:data.data, uuids:uuids})
|
|
|
|
|
|
})
|
|
|
.catch(( error ) => {
|
|
@@ -102,13 +111,18 @@ export default {
|
|
|
Promise.reject(error)
|
|
|
})
|
|
|
},
|
|
|
- parseItems({ dispatch, commit, state }, { data }) {
|
|
|
- console.log('search parseItems data', data)
|
|
|
+ parseItems({ dispatch, commit, state }, { data, uuids }) {
|
|
|
+
|
|
|
+
|
|
|
+ console.log('search parseItems data, uuids', data, uuids)
|
|
|
let items = []
|
|
|
- for (var i = 0; i < data.length; i++) {
|
|
|
- let itemsrc = data[i]
|
|
|
- let attrs = itemsrc.attributes
|
|
|
- let relations = itemsrc.relationships
|
|
|
+
|
|
|
+ for (var i = 0; i < uuids.length; i++) {
|
|
|
+ let uuid = uuids[i]
|
|
|
+ let item_index = data.findIndex(p => p.id == uuid)
|
|
|
+ let item_src = data[item_index]
|
|
|
+ let attrs = item_src.attributes
|
|
|
+ let relations = item_src.relationships
|
|
|
|
|
|
|
|
|
let item = {
|
|
@@ -119,15 +133,15 @@ export default {
|
|
|
}
|
|
|
|
|
|
|
|
|
- let imgsrc = relations.images.data
|
|
|
+ let img_src = relations.images.data
|
|
|
item.images = []
|
|
|
- for (var j = 0; j < imgsrc.length; j++) {
|
|
|
+ for (var j = 0; j < img_src.length; j++) {
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
item.images.push({
|
|
|
- title: imgsrc[j].meta.title,
|
|
|
- url: imgsrc[j].meta.imageDerivatives.links.card_medium.href
|
|
|
+ title: img_src[j].meta.title,
|
|
|
+ url: img_src[j].meta.imageDerivatives.links.card_medium.href
|
|
|
})
|
|
|
}
|
|
|
|