div.addEventListener("drop", event => { // prevent default action // (open as link for some elements in some browsers) event.preventDefault(); // Dragging onto a Diagram if (div === myDiagram.div) { var can = event.target; var pixelratio = myDiagram.computePixelRatio(); // if the target is not the canvas, we may have trouble, so just quit: if (!(can instanceof HTMLCanvasElement)) return; var bbox = can.getBoundingClientRect(); var bbw = bbox.width; if (bbw === 0) bbw = 0.001; var bbh = bbox.height; if (bbh === 0) bbh = 0.001; var mx = event.clientX - bbox.left * ((can.width / pixelratio) / bbw) - dragged.offsetX; var my = event.clientY - bbox.top * ((can.height / pixelratio) / bbh) - dragged.offsetY; var point = myDiagram.transformViewToDoc(new go.Point(mx, my)); myDiagram.startTransaction('new node'); myDiagram.model.addNodeData({ location: point, text: event.dataTransfer.getData('text'), color: "lightyellow" }); myDiagram.commitTransaction('new node'); // remove dragged element from its old location if (remove.checked) dragged.parentNode.removeChild(dragged); } // If we were using drag data, we could get it here, ie: // var data = event.dataTransfer.getData('text'); }, false);Estoy usando arrastrar y soltar HTML, y soltando en el área Canvas (GOJS). Hasta ahora funciona bien, puedo arrastrar elementos de un componente (dando draggable="true") a los elementos y soltándolos en otro componente usando la función onDrop y la función onDragOver, y una vez soltados, estoy construyendo nuevos nodos
Todo funciona como se esperaba, tengo 2 consultas básicamente
No quiero arrastrar elementos para superponer nodos ya existentes. Es decir, cada vez que estoy arrastrando e ingresando al área de colocación, puedo ver el signo + verde y ahora puedo colocarlos en los nodos ya existentes (imagina que ya hay 3 nodos para algún diagrama), de modo que se superpongan, de alguna manera NECESITO para restringir y mostrar el signo X cuando se superpone a los nodos ya existentes y NO debe permitir que se coloque en otros nodos
Cuando arrastré y solté el elemento, ¿hay alguna forma de resaltar el nodo, dando la impresión de que es el nodo recién agregado?
Estoy tomando referencia de esta URL https://github.com/NorthwoodsSoftware/GoJS/blob/master/samples/htmlDragDrop.html
Puede alguien ayudarme con eso