Para cada evento padrão publicado pela estrutura Dijit, o widget Diagram publica dois eventos adicionais que ocorrem em associação com o nó e o link em que o evento ocorre. Por exemplo, o evento padrão do Dijit
onMouseDown(e)
está associado a dois outros eventos do widget Diagram:onLinkMouseDown(link,e)
onNodeMouseDown(node,e)
Esses eventos são acionados quando o evento ocorre dentro dos limites de um link ou nó e os manipuladores de evento recebem esse elemento como o primeiro parâmetro.
Há uma opção para conectar-se a cada nó ou link usando
a API de conexão GFX. Por exemplo, se precisar
connect
ao evento onmousedown
de todos os nós, será possível
estabelecer uma única conexão com onNodeMouseDown
no widget Diagram.Por exemplo, o código a seguir gera um alerta quando
o ponteiro entra em um nó:
dojo.connect(D,"onNodeMouseEnter",function(node,e) { alert("entered!); });
Evento do Dijit | Evento associado em um nó | Evento associado em um 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 |
Sempre que a seleção for alterada, haverá um evento de notificação
e o método
onSelectionChanged([added],[removed])
será
chamado. Por esse método, é possível chamar qualquer função customizada.
Na extração de
código a seguir, o widget Diagram
é centralizado no elemento selecionado:dojo.connect(Diagram.getSelection(),"onSelectionChanged",this,function(added,removed){ if(centerOnNode) { if(added.length==1) { Diagram.centerOnNode(added[0],true); } } });
Os eventos de notificação adicionais estão disponíveis
para edição do diagrama:
beforeGraphElementDispose(graphElement)
: este evento ocorre antes de um elemento do gráfico ser descartadoafterGraphElementDispose(graphElement)
: este evento ocorre após o descarte de um elemento do gráfico