Component is missing after drop a component on link.
before drop
After drop
Our dropOntoLink function.
function dropOntoLink(e, obj) {
var diagram = e.diagram;
if (e.key == "") {
var newnode = diagram.selection.first();
var oldlink = obj.part;
var fromnode = oldlink.fromNode;
var tonode = oldlink.toNode;
oldlink.toNode = newnode;
oldlink.isNew = 1;
var form_port = '';
var to_port = '';
var form_count = 0;
var to_count = 0;
var in_out_count = 0;
var old_toport = '';
var old_port_count = 0;
to_port = oldlink.toPort;
jQuery.each(all_connection_positions_arr[newnode.data.ComponentTypeNo], function(index, value) {
if ((value.Direction == "In" || value.Direction == "InOut") && old_port_count == 0) {
oldlink.toPort = "PORT_" + value.ConnectorNo;
old_toport = "PORT_" + value.ConnectorNo;
old_port_count++;
}
});
jQuery.each(all_connection_positions_arr[newnode.data.ComponentTypeNo], function(index, value) {
if ((value.Direction == "Out" || value.Direction == "InOut") && form_count == 0) {
if(old_toport != "PORT_" + value.ConnectorNo){
form_port = "PORT_" + value.ConnectorNo;
form_count++;
}
}
});
var link_data_arr = {
from: newnode.data.key,
to: tonode.data.key,
fromPort: form_port,
toPort: to_port,
key: get_key(),
text: 'Pipe',
ComponentTypeNo: 3,
isNew: 1,
};
var blankcomponentdetails_value = blankcomponentdetails_arr[0];
var keys_arr = Object.keys(blankcomponentdetails_value);
for(var i=0; i<keys_arr.length; i++) {
var data_key = keys_arr[i];
var data_key_arr = data_key.split("__");
if(data_key.indexOf("__") > 0){
if(data_key_arr[6] == 'ComponentNo'){
}else{
link_data_arr[data_key] = blankcomponentdetails_value[data_key];
}
}
}
diagram.model.addLinkData(link_data_arr);
} else {
myDiagram.nodeTemplateMap.each(function(nodeType) {
if (nodeType.key == 'Converge Tee') {
diagram.model.addNodeData(nodeType);
}
});
}
}