Für jedes vom Dijit-Framework veröffentlichte Standardereignis veröffentlicht das
Diagram-Widget zwei weitere
Ereignisse, die zusammen mit dem Knoten oder Link eintreten, in dem das Ereignis eintritt.
Dem Dijit-Standardereignis
onMouseDown(e)
sind beispielsweise
zwei weitere Ereignisse des Diagram-Widgets zugeordnet:
onLinkMouseDown(link,e)
onNodeMouseDown(node,e)
Diese Ereignisse werden ausgelöst, wenn das Ereignis innerhalb der Grenzen eines Links bzw. Knotens eintritt und die Ereignishandler
dieses Element als ersten Parameter empfangen.
Es gibt eine Option, mit deren Hilfe über die
GFX-API für Verbindungsaufbau eine Verbindung zu jedem Knoten bzw. Link hergestellt werden kann.
Wenn Sie beispielsweise eine Verbindung zum Ereignis
onmousedown
aller Knoten herstellen müssen, können Sie dies über eine einzige
Verbindung zu onNodeMouseDown
im
Diagram-Widget tun.Der folgende Code generiert beispielsweise beim Eingang des Zeigers in einen Knoten einen Alert:
dojo.connect(D,"onNodeMouseEnter",function(node,e) { alert("entered!); });
Dijit-Ereignis | Zugeordnetes Ereignis in einem Knoten | Zugeordnetes Ereignis in einem Link |
---|---|---|
onContextMenu |
onNodeContextMenu |
onLinkContextMenu |
onClick |
onNodeClick |
onLinkClick |
onDblClick |
onNodeDblClick |
onLinkDblClick |
onMouseUp |
onNodeMouseUp |
onLinkMouseUp |
onMouseDown |
onNodeMouseDown |
onLinkMouseDown |
onMouseMove |
onNodeMouseMove |
onLinkMouseMove |
onMouseEnter |
onNodeMouseEnter |
onLinkMouseEnter |
onMouseLeave |
onNodeMouseLeave |
onLinkMouseLeave |
onMouseOver |
onNodeMouseOver |
onLinkMouseOver |
onMouseOut |
onNodeMouseOut |
onLinkMouseOut |
Jedesmal, wenn sich die Auswahl ändert, tritt ein Benachrichtigungsereignis ein, und die Methode
onSelectionChanged([added],[removed])
wird aufgerufen.
Über diese Methode können Sie jede angepasste Funktion aufrufen. Im folgenden Codeextrakt wird
das Diagram-Widget
im ausgewählten Element zentriert:dojo.connect(Diagram.getSelection(),"onSelectionChanged",this,function(added,removed){ if(centerOnNode) { if(added.length==1) { Diagram.centerOnNode(added[0],true); } } });
Es sind weitere Benachrichtigungsereignisse für die Bearbeitung des Diagramms verfügbar:
beforeGraphElementDispose(graphElement)
: Dieses Ereignis tritt ein, bevor ein Graphenelement verworfen wird.afterGraphElementDispose(graphElement)
: Dieses Ereignis tritt ein, wenn ein Graphenelement verworfen wird.