updated route connection on input port drop

This commit is contained in:
girish
2010-12-27 14:49:19 +00:00
parent 21585f621d
commit af11531955
2 changed files with 61 additions and 35 deletions

View File

@@ -1936,13 +1936,23 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj)
next_task_uid[0] = newObj.id;
rou_type = 'SEQUENTIAL';
}
else if(preObj.type.match(/Task/) && newObj.type.match(/End/) && newObj.type.match(/Event/))
else if(preObj.type.match(/Task/) && newObj.type.match(/End/) && newObj.type.match(/Event/) || newObj.reverse == 1)
{
this.deleteRoute(newObj.conn,1);
task_uid[0] = preObj.id;
if(newObj.reverse == 1) //Reverse Routing
task_uid[0] = newObj.id;
else
task_uid[0] = preObj.id;
next_task_uid[0] = '-1';
rou_type = 'SEQUENTIAL';
}
/*else if(preObj.type.match(/Event/) && preObj.type.match(/End/) && newObj.type.match(/Task/))
{
this.deleteRoute(newObj.conn,1);
task_uid[0] = newObj.id;
next_task_uid[0] = '-1';
rou_type = 'SEQUENTIAL';
}*/
else if(preObj.type.match(/Gateway/))
{
// var task_uid = new Array();

View File

@@ -273,7 +273,7 @@ InputPort.prototype.onDrop = function (port) {
return;
}
if (this.parentNode.id == port.parentNode.id) {} else {
/*var newObj = new Array();
/* var newObj = new Array();
newObj = this.workflow.currentSelection;
var preObj = port.parentNode;
newObj.sPortType =port.properties.name;
@@ -285,7 +285,8 @@ InputPort.prototype.onDrop = function (port) {
return;
}
_3f02.setConnection(new DecoratedConnection());
this.parentNode.workflow.getCommandStack().execute(_3f02);*/
this.parentNode.workflow.getCommandStack().execute(_3f02);
*/
var _4070 = new CommandConnect(this.parentNode.workflow, port, this);
if (_4070.source.type == _4070.target.type) {
return;
@@ -294,24 +295,56 @@ InputPort.prototype.onDrop = function (port) {
this.parentNode.workflow.getCommandStack().execute(_4070);
//Saving Start Event
var preObj = new Array();
var preObj = new Array();
var bpmnType = this.workflow.currentSelection.type;
if(bpmnType.match(/Event/) && bpmnType.match(/Start/) && port.parentNode.type.match(/Task/))
//Routing from end event to task
if(bpmnType.match(/End/) && bpmnType.match(/Event/) && port.parentNode.type.match(/Task/))
{
var tas_uid = port.parentNode.id;
this.workflow.saveEvents(this.workflow.currentSelection,tas_uid);
}
else if(bpmnType.match(/End/) && bpmnType.match(/Event/) && port.parentNode.type.match(/Task/))
{
preObj = this.workflow.currentSelection;
var newObj = port.parentNode;
preObj = this.workflow.currentSelection; //end event
var newObj = port.parentNode; //task
newObj.conn = _4070.connection;
newObj.reverse = 1; //setting reverse parameter if user is routing from down to up
this.workflow.saveRoute(preObj,newObj);
}
else if(port.parentNode.type.match(/Task/) && bpmnType.match(/Inter/) && bpmnType.match(/Event/))
//Routing from task to start event
else if(bpmnType.match(/Task/) && port.parentNode.type.match(/Event/) && port.parentNode.type.match(/Start/))
{
var taskFrom = workflow.getStartEventConn(this,'sourcePort','InputPort');
var taskTo = workflow.getStartEventConn(this,'targetPort','OutputPort');
preObj = this.workflow.currentSelection; //task
newObj = port.parentNode; //start event
//newObj.reverse = 1; //setting reverse parameter if user is routing from down to up
var tas_uid = preObj.id;
this.workflow.saveEvents(newObj,tas_uid);
}
//Routing from task to task
else if(bpmnType.match(/Task/) && port.parentNode.type.match(/Task/))
{
preObj = this.workflow.currentSelection;
newObj = port.parentNode;
newObj.conn = _4070.connection;
newObj.sPortType =port.properties.name;
preObj.sPortType =this.properties.name;
this.workflow.saveRoute(newObj,preObj);
}
//Routing from task to gateway
else if(bpmnType.match(/Task/) && port.parentNode.type.match(/Gateway/))
{
var shape = new Array();
shape.type = '';
preObj = this.workflow.currentSelection;
newObj = port.parentNode;
this.workflow.saveRoute(newObj,shape);
}
//Routing from task to Intermediate event
else if(port.parentNode.type.match(/Inter/) && port.parentNode.type.match(/Event/) && bpmnType.match(/Task/))
{
var taskFrom = workflow.getStartEventConn(this,'targetPort','OutputPort');
var taskTo = workflow.getStartEventConn(this,'sourcePort','InputPort');
if(typeof taskFrom[0] != 'undefined' || typeof taskTo[0] != 'undefined')
{
@@ -321,26 +354,10 @@ InputPort.prototype.onDrop = function (port) {
//save Event First
tas_uid = port.parentNode.id;
this.workflow.saveEvents(workflow.currentSelection,preObj);
this.workflow.saveEvents(preObj,workflow.currentSelection);
}
}
else if(bpmnType.match(/Task/) && port.parentNode.type.match(/Task/))
{
preObj = this.workflow.currentSelection;
newObj = port.parentNode;
newObj.conn = _4070.connection;
newObj.sPortType =port.properties.name;
preObj.sPortType =this.properties.name;
this.workflow.saveRoute(preObj,newObj);
}
else if(bpmnType.match(/Gateway/) && port.parentNode.type.match(/Task/))
{
var shape = new Array();
shape.type = '';
preObj = this.workflow.currentSelection;
this.workflow.saveRoute(preObj,shape);
}
}
};
@@ -419,7 +436,6 @@ OutputPort.prototype.onDrop = function (port) {
}
};
LineEndResizeHandle.prototype.onDrop=function(_3f3e){
var line=this.workflow.currentSelection;
line.isMoving=false;