add Creation queries fields & simulate it as a text_produit

This commit is contained in:
axolotle
2021-07-06 14:55:22 +02:00
parent 0c061298f5
commit f9216653a6
8 changed files with 87 additions and 8 deletions
+2 -1
View File
@@ -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)])
}
+13
View File
@@ -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
View File
@@ -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 = []