壁橱的解决办法是为在DefaultDiagramModel
创作上Element
使用setId
。
一个例子是,如下所示:
Element elementA = new Element("A", "20em", "6em");
elementA.setId("element-a");
Element elementB = new Element("B", "10em", "18em");
elementB.setId("element-b");
Element elementC = new Element("C", "40em", "18em");
elementC.setId("element-c");
...
因为PrimeFaces不提供您正在搜索的控制,和原来的成分来自jsPlumb,你可以依靠,要实现你是什么寻找。
首先确保<p:diagram>
的值为widgetVar
。 diagramWV
一个例子是以下几点:
$(document).ready(function() {
//timeout makes sure the component is initialized
setTimeout(function() {
for (var key in PF('diagramWV').canvas.getAllConnections()) {
if (PF('diagramWV').canvas.getAllConnections().hasOwnProperty(key)) {
//Elemenets Events
// on source just once
$(PF('diagramWV').canvas.getAllConnections()[key].source).off('click').on('click', function() {
console.log($(this).attr('id'))
});
// on target just once
$(PF('diagramWV').canvas.getAllConnections()[key].target).off('click').on('click', function() {
console.log($(this).attr('id'))
});
//Connection Event
PF('diagramWV').canvas.getAllConnections()[key].bind("click", function (conn) {
console.log("source " + conn.sourceId);
console.log("target " + conn.targetId);
});
}
}
}, 500);
});
注:widgetVar的canvas
属性的jsPlumbInstance
当前实例下面是一个在线demo,并github小的工作示例。
这里的问题不是很清楚,你说的“连接”是什么意思,你可能会张贴一些代码片断来更详细地描述问题。 –
图是一个主要面组件 https://www.primefaces.org/showcase/ui/data/diagram/basic.xhtml 绘制图我必须填写模型“其价值”,该模型有两个主要属性:元素列表和连接列表,其中连接是元素之间的连接。
连接列表被填充在后端并自动呈现,我无法设置和ID为例或任何其他标识符 –