add nodes style based on text props
This commit is contained in:
+10
-5
@@ -27,26 +27,31 @@ export default new Vuex.Store({
|
||||
|
||||
'GET_TREE' ({ dispatch }, id) {
|
||||
return api.post('', { query: print(TextdepartRecursive), variables: { id } }).then(({ data }) => {
|
||||
return parse(data.data.textref)
|
||||
const text = data.data.textref
|
||||
return parse(text, text.id)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Temp data processing
|
||||
function parse (d) {
|
||||
function parse (d, originalId) {
|
||||
const child = {
|
||||
name: d.title,
|
||||
type: d.__typename.toLowerCase()
|
||||
type: d.__typename.toLowerCase(),
|
||||
class: 'family-' + d.familles[0].id
|
||||
}
|
||||
if (d.id === originalId) {
|
||||
child.class += ' first'
|
||||
}
|
||||
let children = []
|
||||
for (const key of ['text_en_rebond', 'text_produits']) {
|
||||
if (d[key]) {
|
||||
children = [...children, ...d[key].map(text => parse(text))]
|
||||
children = [...children, ...d[key].filter(text => text.id !== originalId)]
|
||||
}
|
||||
}
|
||||
if (children.length) {
|
||||
child.children = children
|
||||
child.children = children.map(child => parse(child, originalId))
|
||||
}
|
||||
return child
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user