问题描述
基本上,我试图在边缘连接之前显示我的菜单,我将在其中存储不同的边缘样式。单击菜单中的任何一个选项将决定我的边缘样式。
在我的代码中,我返回硬编码值来决定关系类型。
//Menu Start***
function on_context_menu2(){
var contextElement = document.getElementById("context-menu2");
var content_ = '';
content_+='<div style="cursor: pointer" class="item" onclick="returnRelVal(\'Aggregation\')"><i class="fa fa-refresh"></i> Rel 1</div>';
content_+='<div style="cursor: pointer" class="item" onclick="returnRelVal(\'Composition\')"><i class="fa fa-refresh"></i> Rel 2</div>';
window.onclick = function(){
contextElement.innerHTML = content_;
contextElement.style.top = event.pageY + "px";
contextElement.style.left = event.pageX + "px";
contextElement.classList.add("active");
removeMenu();
}
function removeMenu(){
window.onclick = function(){
document.getElementById("context-menu2").classList.remove("active");
menuOpened = false;
}
}
//return relVal;
//return "Aggregation";
return "Composition";
}
// Menu End****
graph.connectionHandler.addListener(mxevent.CONNECT,function(sender,evt){
//alert('connected');
var aa = on_context_menu2();
alert(aa);
if(aa=="Aggregation"){
var edge = evt.getProperty('cell');
var style = graph.getCellStyle(edge);
var newStyle = graph.stylesheet.getCellStyle("edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;strokeColor=#000000;strokeWidth=1;startArrow=open;endArrow=diamond;",style);
var array = [];
for (var prop in newStyle)
array.push(prop + "=" + newStyle[prop]);
edge.style = array.join(';');
}
else if (aa=="Composition"){
var edge = evt.getProperty('cell');
var style = graph.getCellStyle(edge);
var newStyle = graph.stylesheet.getCellStyle("edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;strokeColor=#000000;strokeWidth=1;startArrow=oval;endArrow=diamond;",style);
var array = [];
for (var prop in newStyle)
array.push(prop + "=" + newStyle[prop]);
edge.style = array.join(';');
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)