goJS在分离的输入中手动设置节点和链接文本

时间:2017-11-13 23:11:42

标签: javascript gojs

我有简单的python flask应用程序,我将JSON数据发送到我的HTMLgoJS我显示的图形如下所示:

enter image description here

我想在输入中更改我选择的节点文本,当我点击"update node text"按钮时,我想用input中的文本更新节点文本。我在这个图表监听器的帮助下设法得到了节点文本:

myDiagram.addDiagramListener("ObjectSingleClicked", function(e) {
  console.log("clicked!");
  var part = e.subject.part;
  //part.data is the node object
  if (!(part instanceof go.Link)) {
    console.log("its not link!");
    console.log(part.data);
    document.getElementById("nodeText").value = part.data.text;

  } else {
    console.log("its link!");
  }
});

我对更新节点文本感到困惑,并且不知道该怎么做。另外我想用链接文本做同样的事情。我搜索和谷歌搜索,但没有解决方案也没有例子。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

首先我应该说允许用户在图表中编辑文本的最常用方法是将TextBlock.editable设置为true并添加TwoWay Binding TextBlock.text 一些数据属性。这允许用户就地编辑文本而不是单独的HTML字段。

但是在HTML字段中编辑属性是很常见的。假设至少有一种方式从某个数据属性绑定到节点中的 TextBlock.text 属性,那么textarea的blur(或更改?)事件处理程序只需要在其中调用Model.setDataProperty交易。详细了解modifying modelstransactions

最后,如果您希望允许用户编辑许多属性,特别是如果属性数量可能不同,您可能希望使用GoJS DataInspector。它由Org Chart Editor sampleData Inspector sample来证明。