in web/js/node-view.js [13:57]
async function deleteNode(graph, node) {
const deleteResult = await del("node-delete", node.id, graph.partition)
console.log(deleteResult)
// Remove the node from the graph
// First remove the edges
let indexToDelete = -1
do {
indexToDelete = -1
for (let i = 0; i < graph.data.edges.length; i++) {
let edge = graph.data.edges[i]
if (edge.to === node.id || edge.from === node.id) {
indexToDelete = i
break
}
}
if (indexToDelete > -1) {
graph.data.edges.splice(indexToDelete, 1)
}
} while (indexToDelete > -1)
// Remove the node
indexToDelete = -1
for (let i = 0; i < graph.data.nodes.length; i++) {
let nodeToDelete = graph.data.nodes[i]
if (nodeToDelete.id === node.id) {
indexToDelete = i
break
}
}
if (indexToDelete > -1) {
graph.data.nodes.splice(indexToDelete, 1)
}
// // Re-render the canvas
// render(graph)
// // Reset the property view to blank
// viewNode(graph, null)
// An odd bug here where all the nodes get rendered on top of each other
// Just start over... feels like cheating but it's reliable
window.location = "/"
}