maia/.svn/pristine/6b/6b2c1598085a2aeb77d568ca182...

115 lines
3.3 KiB
Plaintext
Executable File

var responseString;
var responseObject;
var lFlows;
var pim;
var work;
function startFlow(){
setTimeout(function(){
responseString = $("#formBpmLog\\:lFlowsResponseJson").val();
responseObject = eval("("+responseString+")");
lFlows = responseObject.flows;
pim=lFlows;
work = document.getElementById("work");
if(responseString.length>0){
showActualStatus();
}
},1000);
}
function removeSigns(){
if(work.sign){
for(var i in work.sign){
work.removeChild(work.sign[i]);
}
}
work.sign=new Array();
if(work.done){
for(var i in work.done){
work.removeChild(work.done[i]);
}
}
work.done=new Array();
}
function showActualStatus(){
var pim = lFlows;
removeSigns();
if(pim[0].variables.tasksMetaData){
for(var i in pim[0].variables.tasksMetaData){
try{
manageDoneTask(pim[0].variables.tasksMetaData[i]);
}catch(e){continue;}
}
}
for(var i in pim){
manageFlow(pim[i]);
}
}
function showFlowDispatcher(){
showFlow([{name:'pMetaId',value:this.pMetaId}]);
}
function showTaskDispatcher(){
showTask([{name:'taskName',value:this.taskName}]);
}
function manageDoneTask(pTask){
if(!pTask.name){
return;
}
var status=self.document.createElement("div");
status.style.position="relative";
status.style.left=(pTask.x)+"px";
var aux=0;
for(var i in work.sign){
aux+=work.sign[i].height;
}
for(var i in work.done){
aux+=work.done[i].height;
}
status.style.top=(pTask.y-($("#formBpmLog\\:imageFlow")[0].offsetHeight+aux))+"px";
status.style.width=(pTask.w)+"px";
status.style.height=(pTask.h)+"px";
status.className="done common";
var a=self.document.createElement("a");
a.href="#";
status.taskName=pTask.name;
status.onclick=showTaskDispatcher;
status.task=pTask.tasksMetaData;
a.appendChild(status);
status=a;
status.height=pTask.h;
work.done[work.done.length]=status;
work.appendChild(status);
}
function manageFlow(pFlow){
var status=self.document.createElement("div");
status.style.position="relative";
status.style.left=(pFlow.x)+"px";
status.pMetaId = pFlow.pmetaid;
var aux=0;
for(var i in work.sign){
aux+=work.sign[i].height;
}
for(var i in work.done){
aux+=work.done[i].height;
}
status.style.top=(pFlow.y-($("#formBpmLog\\:imageFlow")[0].offsetHeight+aux))+"px";
status.style.width=(pFlow.w)+"px";
status.style.height=(pFlow.h)+"px";
var a=self.document.createElement("a");
a.href="#";
if(pFlow.sub.length>0){
status.className="sub common";
status.onclick=showFlowDispatcher;
status.flow=pFlow.sub;
status.activity=pFlow.activity;
}else{
status.taskMetaData=pFlow.taskMetaData;
status.className="act common";
//status.onclick=$(CN()).temp.showPendingTask;
}
a.appendChild(status);
status=a;
status.height=pFlow.h;
work.sign[work.sign.length]=status;
work.appendChild(status);
}