AlloyUI:对节点做出反应 - 在图表生成器中单击事件

AlloyUI: react to node - click event in Diagram Builder

本文关键字:事件 单击 节点 AlloyUI      更新时间:2023-09-26

我想在用户单击图表生成器中的节点时以不同的方式对事件做出反应。

我知道如何创建自定义节点(我在堆栈溢出上找到了讨论),但我不知道如何覆盖用户单击节点时调用的代码。

我尝试扩展"自定义节点"示例:

 Y.DiagramNodeCustom = Y.Component.create({
    NAME: 'diagram-node',
    ATTRS: {
        type: {
            value: 'custom'
        },
    },
    on: {
  render: function(event) {                        alert('render node');                      
     },
      click: function(event) {                        alert('click node');                    
     },
      select: function(event) {                        alert('select node');                      
     }
    },
    EXTENDS: Y.DiagramNodeTask
});

。但没有运气

谁能告诉我如何替换点击事件侦听器?

您可以更改库上的函数

_onNodeClick: function(event) {
    var instance = this;
    //get the object
    var diagramNode = A.Widget.getByNode(event.currentTarget);
    //mark as selected
    instance.select(diagramNode);
    //open edit pannel
    instance._onNodeEdit(event);
    event.stopPropagation();
},