GoJS流程图控件提供的多种事件使用技巧

作者:控件中国网   出处:控件中国网   2015-07-30 15:17:38   阅读:158

GoJS流程图控件为开发人员提供了多种常用的客户端事件,利用这些事件客户可以进行特殊操作,自定义功能等,像"ObjectSingleClicked", "BackgroundDoubleClicked", "ClipboardPasted", and "SelectionDeleting"这几个事件都是常用的事件,下面的代码阐释了GoJS事件的使用方法:

function showMessage(s) {
    document.getElementById("diagramEventsMsg").textContent = s;
  }

  diagram.addDiagramListener("ObjectSingleClicked",
      function(e) {
        var part = e.subject.part;
        if (!(part instanceof go.Link)) showMessage("Clicked on " + part.data.key);
      });

  diagram.addDiagramListener("BackgroundDoubleClicked",
      function(e) { showMessage("Double-clicked at " + e.diagram.lastInput.documentPoint); });

  diagram.addDiagramListener("ClipboardPasted",
      function(e) { showMessage("Pasted " + e.diagram.selection.count + " parts"); });

  diagram.addDiagramListener("SelectionDeleting",
      function(e) {
        if (e.diagram.selection.count > 1) {
          e.cancel = true;
          showMessage("Cannot delete multiple selected parts");
        }
      });

  var nodeDataArray = [
    { key: "Alpha" },
    { key: "Beta", group: "Omega" },
    { key: "Gamma", group: "Omega" },
    { key: "Omega", isGroup: true },
    { key: "Delta" }
  ];
  var linkDataArray = [
    { from: "Alpha", to: "Beta" },  // from outside the Group to inside it
    { from: "Beta", to: "Gamma" },  // this link is a member of the Group
    { from: "Omega", to: "Delta" }  // from the Group to a Node
  ];
  diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
 

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat