Estoy tratando de construir un gráfico usando elk.js, y para poder hacerlo, necesito tener un valor x para cada nodo. Los nodos de la izquierda deben tener un valor x menor que los de la derecha.
x .Lo que tengo actualmente:
x a la derecha y a la izquierda.x de los niños en el mismo nodo principalx en cada filaTengo todo para que funcione y, de hecho, funciona perfectamente bien, pero mi problema principal es este código a continuación. Estoy buscando una manera de simplificar esto de alguna manera y estoy luchando mucho, por lo que agradecería cualquier ayuda.
Si tiene un enfoque totalmente diferente a este, con gusto los conoceré.
if (allNodesFromCurrentRow.length === 0) { newNode.nodeLayout.x = parentX + 10; } else { if (currentValue > 0 && rightValue === 0 && leftValue === 0) { newNode.nodeLayout.x = currentValue + 1; } else if ( currentValue === 0 && leftValue === 0 && rightValue > 0 ) { newNode.nodeLayout.x = rightValue - 1; } else if (currentValue === 0 && leftValue > 0 && rightValue > 0) { newNode.nodeLayout.x = (leftValue + rightValue) / 2; } else if (currentValue > 0 && leftValue === 0 && rightValue > 0) { newNode.nodeLayout.x = (rightValue + currentValue) / 2; } else if ( leftValue > 0 && currentValue === 0 && rightValue === 0 ) { newNode.nodeLayout.x = leftValue + 1; } else if (leftValue > 0 && currentValue > 0 && rightValue === 0) { newNode.nodeLayout.x = currentValue + 1; } else if (leftValue > 0 && currentValue > 0 && rightValue > 0) { newNode.nodeLayout.x = (rightValue + currentValue) / 2; } }