add Creation queries fields & simulate it as a text_produit
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
getUniqueNodesIds,
|
||||
getRelatedNodesIds,
|
||||
getRandomIds,
|
||||
parseTree,
|
||||
buildTree
|
||||
} from '@/store/utils.js'
|
||||
|
||||
@@ -185,7 +186,7 @@ export default {
|
||||
commit('SET_NODE_DEPART_ID', id)
|
||||
|
||||
if (!(id in state.trees)) {
|
||||
const treeData = await api.queryRecursiveNodes([id])
|
||||
const treeData = parseTree(await api.queryRecursiveNodes([id]))
|
||||
const nodes = await dispatch('GET_NODES', { ids: getUniqueNodesIds(treeData), dataLevel: 'initial' })
|
||||
commit('ADD_NODE_TREE', [id, buildTree(treeData, nodes)])
|
||||
}
|
||||
|
||||
@@ -34,6 +34,19 @@ export default {
|
||||
function addNode (node, level) {
|
||||
const stateNode = node.id in state.nodes ? state.nodes[node.id] : undefined
|
||||
|
||||
if ('creations' in node) {
|
||||
if (node.creations) {
|
||||
if (!Array.isArray(node.children)) {
|
||||
node.children = []
|
||||
}
|
||||
node.creations.forEach(item => {
|
||||
item.variant = [{ id: 0 }]
|
||||
node.children.push(item)
|
||||
})
|
||||
}
|
||||
delete node.creations
|
||||
}
|
||||
|
||||
if (node.variant === null || Array.isArray(node.variant)) {
|
||||
node.variant = node.variant !== null ? ID_VARIANTS[node.variant[0].id] : 'dark'
|
||||
}
|
||||
|
||||
+26
-2
@@ -20,8 +20,8 @@ export const ID_VARIANTS = {
|
||||
6: 'reflexion',
|
||||
7: 'lecture',
|
||||
8: 'sensible',
|
||||
23: 'kit'
|
||||
// undefined: 'creation'
|
||||
23: 'kit',
|
||||
0: 'creation'
|
||||
}
|
||||
|
||||
export const VARIANT_IDS = Object.fromEntries(
|
||||
@@ -86,6 +86,30 @@ export function getRandomIds (ids, count = 3) {
|
||||
}
|
||||
|
||||
|
||||
export function parseTree (treeData) {
|
||||
if ('creations' in treeData) {
|
||||
if (treeData.creations) {
|
||||
if (!Array.isArray(treeData.children)) {
|
||||
treeData.children = []
|
||||
}
|
||||
treeData.creations.forEach(item => {
|
||||
item.variant = [{ id: 0 }]
|
||||
treeData.children.push(item)
|
||||
})
|
||||
}
|
||||
delete treeData.creations
|
||||
}
|
||||
|
||||
for (const relation of RELATIONS) {
|
||||
if (relation in treeData && treeData[relation]) {
|
||||
treeData[relation] = treeData[relation].map(node => parseTree(node))
|
||||
}
|
||||
}
|
||||
|
||||
return treeData
|
||||
}
|
||||
|
||||
|
||||
export function buildTree (treeData, nodesData) {
|
||||
const uniqueIds = []
|
||||
const nodes = []
|
||||
|
||||
Reference in New Issue
Block a user