processmaker-builder
Version:
The gulp task runner for ProcessMaker building
1,202 lines (1,164 loc) • 111 kB
JavaScript
var PROCESSMAP_STEP_EDIT = false;
var PROCESSMAP_USER_EDIT = false;
var processmapOutputsPanel;
var _client = getClientWindowSize();
var processmap=function(){
this.data={
load:function()
{
//setTimeout(this.parent.closure({instance:this,method:this.data.render.base}),1000);
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=load&data="+{uid:this.options.uid,mode:this.options.rw,ct:this.options.ct}.toJSONString()
});
r.callback=this.data.render.base
r.make();
},
render:{
buildingBlocks:{
injector:function(lanzado)
{
Wx = (lanzado=='dynaforms' || lanzado=='triggers' || lanzado=='outputs') ?600 : 500;
Hx = 460;
if (lanzado == "reportTables") {
Wx = _client.width - 30;
Hx = _client.height - 15;
}
var bbk = {
dynaforms:1,
messages:1,
inputs:1,
outputs:1,
webbots:1
};
this.observers.menu.update();
if(!this.panels.buildingBlocks)
{
this.panels.buildingBlocks=new leimnud.module.panel();
this.panels.buildingBlocks.options={
limit :true,
size :{w:Wx,h:Hx},
position:{x:0,y:10,center:true},
title :"",
theme :"processmaker",
//target :this.options.target,
statusBar:false,
//titleBar:false,
control :{drag:false,resize:false,close:true, drag:true},
fx :{opacity:false,rolled:false,modal:true, drag:true}
};
this.panels.buildingBlocks.make();
this.panels.buildingBlocks.events={
remove:function()
{
delete this.panels.buildingBlocks;
}.extend(this)
};
//this.panels.buildingBlocks.elements.modal.onmouseup=this.panels.buildingBlocks.remove;
}
else
{
this.panels.buildingBlocks.clearContent();
}
var bbk ={
outputs:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_OUTPUT_DOCUMENTS)
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=outputs&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this);
r.make();
processmapOutputsPanel = panel;
}.extend(this),
inputs:function()
{
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_INPUT_DOCUMENTS);
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=inputs&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this);
r.make();
}.extend(this),
triggers:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_TRIGGERS);
panel.clearContent();
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=triggers&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this);
r.make();
}.extend(this),
messages:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_MESSAGES);
panel.clearContent();
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=messages&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this);
r.make();
}.extend(this),
reportTables2:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_PROCESSMAP_REPORT_TABLES);
panel.clearContent();
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=reportTables&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this);
r.make();
}.extend(this),
reportTables:function(){
var url = "../pmTables?PRO_UID=" + this.options.uid+"&flagProcessmap=1";
var isIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1)? 1 : 0;
if (isIE == 1) {
this.panels.buildingBlocks.remove();
//var w = _client.width - 20;
//var h = _client.height - 300;
var w = screen.width - 150;
var h = screen.height - 300;
var windowAux = window.open(url, "reportTable", "width=" + w + ", height=" + h + ", resizable=no, toolbar=no, menubar=no, scrollbars=yes, status=no, location=no, left=" + ((screen.width / 2) - (w / 2)) + ", top=" + ((screen.height / 2) - (h / 2) + 50));
} else {
var panel = this.panels.buildingBlocks;
panel.addContentTitle("");
panel.clearContent();
var iframe = document.createElement("iframe");
iframe.setAttribute("id", "reportTablesIframe");
iframe.src = url;
iframe.frameBorder = 0;
iframe.style.width = _client.width - 40;
iframe.style.height = _client.height - 70;
panel.addContent(iframe);
}
}.extend(this),
dynaforms:function(){
var panel = this.panels.buildingBlocks;
panel.addContentTitle(G_STRINGS.ID_DYNAFORMS);
panel.loader.show();
var r = new this.parent.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=dynaforms&data="+{pro_uid:this.options.uid}.toJSONString()
});
r.callback=function(rpc){
panel.loader.hide();
var scs=rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
this.buildLoading=false;
}.extend(this)
r.make();
}.extend(this)
};
bbk[lanzado]();
},
panel:function()
{
/* Toolbar Begin */
var panel;
panel = this.panels.toolbar=new leimnud.module.panel();
this.panels.toolbar.options={
limit :true,
size :{w:220,h:31},
position:{x:this.options.target.clientWidth-278,y:4},
title :"",
theme :"processmaker",
target :this.options.target,
//limit :true,
titleBar:false,
statusBar:false,
elementToDrag:"content",
cursorToDrag:"default",
control :{drag:true,resize:false},
fx :{opacity:true,shadow:false}
};
panel.setStyle={
containerWindow:{border:"1px solid buttonshadow"},
frontend:{backgroundColor:"buttonface"},
content:{border:"1px solid transparent",backgroundColor:"transparent",margin:0,overflow:"hidden",padding:1}
};
this.panels.toolbar.make();
var div = document.createElement("div");
this.parent.dom.setStyle(div,{
textAlign:"center"
});
var dr1 = document.createElement("img");
dr1.src = this.options.images_dir + "0.gif";
dr1.title = _("ID_PROCESSMAP_SEQUENTIAL");
div.appendChild(dr1);
//dr1.style.marginTop = 7;
//div.appendChild(document.createElement("p"));
var dr2 = document.createElement("img");
//dr2.style.marginTop = 7;
dr2.src = this.options.images_dir + "1.gif";
dr2.title = _("ID_PROCESSMAP_SELECTION");
div.appendChild(dr2);
//div.appendChild(document.createElement("p"));
var dr3 = document.createElement("img");
dr3.src = this.options.images_dir + "2.gif";
dr3.title = _("ID_PROCESSMAP_EVALUATION");
//dr3.style.marginTop = 7;
div.appendChild(dr3);
//div.appendChild(document.createElement("p"));
var dr4 = document.createElement("img");
dr4.src = this.options.images_dir + "3.gif";
dr4.title = _("ID_PROCESSMAP_PARALLEL_FORK");
//dr4.style.marginTop = 7;
div.appendChild(dr4);
//div.appendChild(document.createElement("p"));
var dr5 = document.createElement("img");
dr5.src = this.options.images_dir + "4.gif";
dr5.title = _("ID_PROCESSMAP_PARALLEL_EVALUATION_FORK");
//dr5.style.marginTop = 7;
div.appendChild(dr5);
var dr6 = document.createElement("img");
dr6.src = this.options.images_dir + "5.gif";
dr6.title = _("ID_PROCESSMAP_PARALLEL_JOIN");
div.appendChild(dr6);
var fin = document.createElement("img");
fin.src = this.options.images_dir + "6.gif";
fin.title = _("ID_END_OF_PROCESS");
div.appendChild(fin);
var ini = document.createElement("img");
ini.src = this.options.images_dir + "7.gif";
ini.title = _("ID_START_TASK");
div.appendChild(ini);
/*var dis = document.createElement("img");
dis.src = this.options.images_dir+"8.gif";
dis.title = "Discriminator";
div.appendChild(dis);*/
[dr1,dr2,dr3,dr4,dr5,dr6,fin,ini/*,dis*/].map(function(el){
el.className ="processmap_toolbarItem___"+this.options.theme
}.extend(this));
this.dragables.derivation = new this.parent.module.drag({ //Add to enable dragging of image from panel
elements:[dr1,dr2,dr3,dr4,dr5,dr6,fin,ini/*,dis*/],
fx:{
type : "clone",
target : this.panels.editor.elements.content,
zIndex : 11
}
});
this.dragables.derivation.typesDerivation=["simple","double","conditional","conditional1","conditional2","conditional3","final","initial"/*,"discriminator"*/];
this.dragables.derivation.events={
init :[function(){
this.dragables.derivation.noDrag=true;
}.extend(this)],
move:this.dropables.derivation.capture.args(this.dragables.derivation),
finish : this.parent.closure({instance:this,method:function(){
//clearInterval(this.timeToOutControl);
this.parent.dom.remove(this.dropables.derivation.drag || this.dragables.derivation.currentElementDrag);
this.parent.dom.remove(this.dragables.derivation.currentElementDrag);
if(this.dropables.derivation.selected!==false)
{
this.dropables.derivation.launchEvents(this.dropables.derivation.elements[this.dropables.derivation.selected].events.out);
vAux = this.dropables.derivation.launchEvents(this.dropables.derivation.elements[this.dropables.derivation.selected].events.click);
this.dropables.derivation.selected = false;
return vAux;
}
else
{
this.dragables.derivation.noDrag=false;
}
}})
};
this.dragables.derivation.make();
//drg.options.elements=[];
this.parent.dom.setStyle([dr1,dr2,dr3,dr4,dr5,dr6,fin,ini/*,dis*/],{
cursor:"move"
});
panel.loader.hide();
panel.addContent(div);
leimnud._panel=['O'],leimnud.ipanel=0;
/* Toolbar End */
},
components:{
}
},
base:function(xml)
{
this.panels.editor.loader.hide();
this.data.db=xml.xmlhttp.responseText.parseJSON().concatMaborak({
//derivations :["Sequential","Evaluate (manual)","Evaluate (auto)","Parallel (fork)","Parallel by evaluation (fork)","Parallel (join)"],
});
this.data.db.subprocess=[];
this.panels.editor.addContentStatus(G_STRINGS.ID_PROCESSMAP_LOADING);
if(this.options.rw===true)
{
this.menu = new this.parent.module.app.menuRight();
this.menu.make({
target:this.panels.editor.elements.content,
width:201,
theme:this.options.theme,
menu:[
{image:"/images/edit.gif",text:G_STRINGS.ID_PROCESSMAP_EDIT_PROCESS,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:700,h:520},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESSMAP_EDIT_PROCESS+": "+ moldTitle(this.data.db.title.label,700),//this.data.db.title.label,s
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=process_Edit&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/edit.gif",text:G_STRINGS.ID_PROCESSMAP_EXPORT_PROCESS,launch:function(event){
this.tmp.exportProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:600,h:230},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESSMAP_EXPORT_PROCESS+": "+moldTitle(this.data.db.title.label,600),//this.data.db.title.label,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=process_Export&processMap=1&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
}.extend(this,panel);
r.make();
}.extend(this)},
{separator:true},
{image:"/images/add.png",text:G_STRINGS.ID_PROCESSMAP_ADD_TASK,launch:this.addTask.extend(this,{tp:'task'})},
{image:"/images/subProcess.png",text:G_STRINGS.ID_PROCESSMAP_ADD_SUBPROCESS,launch:this.addTask.extend(this,{tp:'subprocess'})}, //add subprocess whith blabla
//{image:"/images/add.png",text:"Add Task Hidden",launch:this.addTask.extend(this,{tp:'hidden'})}, //add subprocess whith blabla
{image:"/images/addtext.png",text:G_STRINGS.ID_PROCESSMAP_ADD_TEXT,launch:this.addText.extend(this)},
{image:"/images/linhori.png",text:G_STRINGS.ID_PROCESSMAP_HORIZONTAL_LINE,launch:this.addGuide.extend(this,"horizontal")},
{image:"/images/linver.png",text:G_STRINGS.ID_PROCESSMAP_VERTICAL_LINE,launch:this.addGuide.extend(this,"vertical")},
{image:"/images/delete.png",text:G_STRINGS.ID_PROCESSMAP_DELETE_ALL_LINES,launch:function(event,index){
index = this.parent.browser.isIE?event:index;
new leimnud.module.app.confirm().make({
label:G_STRINGS.ID_PROCESSMAP_CONFIRM_DELETE_ALL_LINES,
action:function()
{
for(var i=0;i<this.data.db.guide.length;i++)
{
this.parent.dom.remove(this.data.db.guide[i].object.elements.guide);
}
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=deleteGuides&data="+{
pro_uid:this.options.uid
}.toJSONString()
});
r.make();
}.extend(this)
});
}.extend(this)},
{separator:true},
{image:"/images/object_permission.gif",text:G_STRINGS.ID_OBJECT_PERMISSIONS,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:850,h:480},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_OBJECT_PERMISSIONS,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=objectPermissions&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/users.png",text:G_STRINGS.ID_PROCESSMAP_PSUPERVISORS,submenu:[
{image:"/images/users.png",text:G_STRINGS.ID_PROCESSMAP_PROCESS_SUPERVISORS,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:300},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESSMAP_PROCESS_SUPERVISORS,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=process_User&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/dynaforms.gif",text:G_STRINGS.ID_PROCESSMAP_SUPERVISORS_DYNAFORMS,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESSMAP_SUPERVISORS_DYNAFORMS,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=supervisorDynaforms&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/inputdocument.gif",text:G_STRINGS.ID_PROCESSMAP_SUPERVISORS_INPUTS,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESSMAP_SUPERVISORS_INPUTS,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=supervisorInputs&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)}
]},
{separator:true},
{image:"/images/dynaforms.gif",text:G_STRINGS.ID_WEB_ENTRY,launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_WEB_ENTRY,
theme :this.options.theme,
control :{close:true,resize:true},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=webEntry&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/tracker.gif",text:G_STRINGS.ID_CASE_TRACKER,submenu:[
{image:"/images/tracker.gif",text:G_STRINGS.ID_CASE_TRACKER_PROPERTIES,launch:function(event){
this.tmp.caseTrackerPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:300,h:200},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_CASE_TRACKER,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=caseTracker&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/tracker.gif",text:G_STRINGS.ID_CASE_TRACKER_OBJECTS,launch:function(event){
this.tmp.caseTrackerPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_CASE_TRACKER_OBJECTS,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=caseTrackerObjects&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)}
]},
{image:"/images/folder.gif",text:G_STRINGS.ID_PROCESS_FILES_MANAGER,launch:function(event){
this.tmp.processFilesManagerPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_PROCESS_FILES_MANAGER,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=processFilesManager&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)} ,
{image:"/images/events.gif",text:G_STRINGS.ID_EVENTS,submenu:[
/*
{image:"/images/event_message.png",text:"start message event",launch:function(event){
this.tmp.editProcessPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:500,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_WEB_ENTRY,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=webEntry&data="+{
pro_uid :this.options.uid
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
{image:"/images/event_timer.png",text:"Start timer event",launch:function(event){
this.tmp.eventsPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:830,h:800},
position:{x:50,y:50,center:true},
title :"CASES SCHEDULER",
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=case_scheduler&PRO_UID="+this.options.uid
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)},
*/
{
image:"/images/event_messageThrow.png",text:G_STRINGS.ID_INTERMEDIATE_MESSAGE_EVENT,launch:function(event){
this.tmp.eventsPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:700,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_EVENT_MESSAGE,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=events&data="+{
pro_uid :this.options.uid,
type:"message"
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)
},
{
image:"/images/event_conditional.png",text:G_STRINGS.ID_INTERMEDIATE_CONDITIONAL_EVENT ,launch:function(event){
this.tmp.eventsPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:700,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_EVENT_MESSAGE,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=events&data="+{
pro_uid :this.options.uid,
type:"conditional"
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)
},
{
image:"/images/event_timer.png",text:G_STRINGS.ID_INTERMEDIATE_TIMER_EVENT,launch:function(event){
this.tmp.eventsPanel = panel =new leimnud.module.panel();
panel.options={
limit :true,
size :{w:700,h:380},
position:{x:50,y:50,center:true},
title :G_STRINGS.ID_EVENT_MULTIPLE,
theme :this.options.theme,
control :{close:true,resize:false},fx:{modal:true},
statusBar:false,
fx :{shadow:true,modal:true}
};
panel.make();
panel.loader.show();
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=events&data="+{
pro_uid :this.options.uid,
type:"multiple"
}.toJSONString()
});
r.callback=function(rpc,panel)
{
panel.loader.hide();
var scs = rpc.xmlhttp.responseText.extractScript();
panel.addContent(rpc.xmlhttp.responseText);
scs.evalScript();
//Pm.objeto.innerHTML="asdasd";
}.extend(this,panel);
r.make();
}.extend(this)}
]}
]
});
this.observers.menu.register(this.parent.closure({instance:this.menu,method:this.menu.remove}),this.menu);
}
this.data.render.task();
if (maximunX > this.options.size.w && document.getElementById('pm_separator_div')) {
var pm_separator_div = document.getElementById('pm_separator_div');
pm_separator_div.style.width = maximunX + 200;
}
},
task:function()
{
var lngt = this.data.db.task.length;
for(var i =0;i<lngt;i++)
{
//console.log(this.data.db.task[i]);
var tt = ((this.data.db.task[i].task_type==='NORMAL') || (this.data.db.task[i].task_type==='ADHOC'))?'task':'subprocess';
if(this.data.db.task[i].task_type==='HIDDEN'){
tt = 'hidden';
}
//this.parent.exec(this.data.build.task,[this.data.db.task[i],i],false,this);
this.data.build.task(i,{tp:tt});
}
this.data.render.taskINI();
this.data.render.guide();
//this.parent.exec(this.data.build.derivation,false,false,this);
},
taskINI:function()
{
var lngt = this.data.db.task.length;
for(var i =0;i<lngt;i++)
{
var task=this.data.db.task[i];
if(task.taskINI===true)
{
this.parent.dom.setStyle(task.object.elements.init,{
background:"url("+this.options.images_dir+"inicio.gif)"
});
}
}
return true;
},
setTaskINI:function(option)
{
var task = this.data.db.task[this.tools.getIndexOfUid(option.task)];
task.taskINI=option.value;
this.parent.dom.setStyle(task.object.elements.init,{
background:((task.taskINI===true)?"url("+this.options.images_dir+"inicio.gif)":"")
});
},
guide:function()
{
for(var i=0;i<this.data.db.guide.length;i++)
{
//this.parent.exec(this.data.build.guide,[this.data.db.guide[i],i],false,this);
//this.parent.exec(this.data.build.guide,[i],false,this);
this.data.build.guide(i);
//this.parent.exec(this.data.build.guide,[2],false,this);
}
this.data.render.title();
},
title:function()
{
this.data.build.title();
this.data.render.text();
},
deleteDerivation:function(uid,rec,spec)
{
var task = this.data.db.task[this.tools.getIndexOfUid(uid)];
spec = (typeof spec!=="number")?false:spec;
var deri = task.derivation;
for(var i=0;i<deri.to.length;i++)
{
if(spec===false || (spec!==false && spec===i))
{
if(deri.to[i].task==="-1" || deri.to[i].task==="-2")
{
this.parent.dom.setStyle(task.object.elements[(deri.to.length>1)?'derivationBottom':'derivation'],{
background:""
});
}
else
{
deri.to[i].object.line.remove();
this.observers.lineas.unregister(deri.to[i].object.indexObserver);
}
if(deri.type===5 || deri.type===8)
{
var toTask = this.data.db.task[this.tools.getIndexOfUid(deri.to[i].task)];
if (typeof(toTask) != 'undefined') {
toTask.object.inJoin = toTask.object.inJoin-1;
if(toTask.object.inJoin===0)
{
this.parent.dom.setStyle(toTask.object.elements.init,{
backgroundPosition:"0 0",
background:""
});
}
}
}
}
}
this.parent.dom.setStyle(task.object.elements.derivation,{
background:""
});
if (spec == false && typeof(rec) == 'undefined') {
task.derivation={to:[]};
}
/* Delete derivation recursive */
if(rec)
{
var tdb = this.data.db.task;
for(var i=0;i<tdb.length;i++)
{
var der = tdb[i].derivation.to || [];
for(var j=0;j<der.length;j++)
{
if(der[j].task===uid)
{
this.data.render.deleteDerivation(tdb[i].uid,false,j);
}
}
}
}
},
preDerivation:function(uid)
{
var tmS;
var typeDerivation = this.dragables.derivation.currentElementInArray;
if(typeDerivation===6){
var vars=this.data.db.task[uid];
var vtd = {
type:0,
tas_uid:vars.uid,
pro_uid:this.options.uid,
data:["-1"],
next_task:'-1'
}
this.data.build.derivation(vtd);
vtd['delete'] = true;
var r = new leimnud.module.rpc.xmlhttp({
url:this.options.dataServer,
args:"action=saveNewPattern&data="+vtd.toJSONString()
});
r.make();
this.inDerivationDrag=false;
this.dragables.derivation.noDrag=false;
return false;
}
else if(typeDerivation===7) {
var vars=this.data.db.task[uid];
if (vars.task_type != 'SUBPROCESS') {
this.data.render.setTaskINI({task:vars.uid,value:true});
this.inDerivationDrag=false;
this.dragables.derivation.noDrag=false;
var r = new leimnud.module.rpc.xmlhttp({
url:"../tasks/tasks_Ajax",
args:"function=saveTaskData&oData="+{
TAS_START:"TRUE",
TAS_UID:vars.uid
}.toJSONString()
});
r.make();
}
else {
this.inDerivationDrag=false;
this.dragables.derivation.noDrag=false;
}
return false;
}
this.observers.menu.update();
tmS = this.derivationArrowToDrop = document.createElement("div");
this.parent.dom.setStyle(tmS,{
position:"absolute",
width : 10,
height : 10,
zIndex : 12,
overflow: "hidden",
backgroundColor:"red"
});
this.panels.editor.elements.content.appendChild(tmS);
var ln;
ln = this.derivationLineToDrop = new this.parent.module.app.line({
elements :[this.data.db.task[uid].object.elements.task,tmS],
target :this.panels.editor.elements.content,
color :"green",
zIndex :15
});
ln.make();
this.observers.lineas.register(this.parent.closure({instance:ln,method:ln.update}),ln);
this.parent.event.add(this.data.db.task[uid].object.elements.task,"mouseover",this.parent.closure({instance:this,method:function(evt,arrow,lin,evi)
{
var ec = this.parent.dom.position(this.panels.editor.elements.content);
var mou = this.parent.dom.mouse(window.event || evt);
this.parent.dom.setStyle(arrow,{
left : mou.x-(ec.x+6),
top : mou.y-(ec.y+6)
});
this.parent.exec(lin.update,false,false,lin);
this.parent.event.flushCollection([evi]);
},event:true,args:[tmS,ln,this.parent.event.db.length]}));
if(this.parent.browser.isIE){this.data.db.task[uid].object.elements.task.fireEvent("onmouseover");}
var uidEventMMove=this.parent.event.db.length;
this.parent.event.add(this.panels.editor.elements.content,"mousemove",function(evt,arrow,lin)
{
var ec = this.parent.dom.position(this.panels.editor.elements.content);
var mou = this.parent.dom.mouse(window.event || evt);
this.parent.dom.setStyle(arrow,{
left : (mou.x-(ec.x+6)+(this.panels.editor.elements.content.scrollLeft || 0)),
top : (mou.y-(ec.y+6)+(this.panels.editor.elements.content.scrollTop || 0))
});
lin.update();
this.parent.exec(this.dropables.derivation.capture,{currentElementDrag:arrow},false,this.dropables.derivation);
}.extend(this,tmS,ln));
this.parent.event.add(tmS,"click",function(evt,options)
{
//options = (window.event)?evt:options;
this.dropables.derivation.capture({currentElementDrag:options.arrow});
this.dragables.derivation.noDrag=false;
if(this.dropables.derivation.selected===false)
{
options.line.remove();
}
else
{
options.line.remove();
this.patternPanel(false,options.uid,{to:this.dropables.derivation.selected,type:this.dragables.derivation.currentElementInArray});
if (this.dropables.derivation.elements[this.dropables.derivation.selected])
{
this.dropables.derivation.launchEvents(this.dropables.derivation.elements[this.dropables.derivation.selected].events.out);
}
}
this.inDerivationDrag=false;
this.dropables.derivation.selected=false;
this.parent.event.flushCollection([options.ue,options.ua]);
this.parent.dom.remove(options.arrow);
}.extend(this,{uid:uid,arrow:tmS,line:ln,ue:this.parent.event.db.length,ua:uidEventMMove}));
},
derivation:function(uid,type)
{
for(var i=0;i<this.data.db.task.length;i++)
{
this.data.render.lineDerivation(i);
}
return true;
},
lineDerivation:function(index)
{
var task = this.data.db.task[index];
for(var j=0;j<task.derivation.to.length;j++)
{
var derivation = task.derivation.to[j];
//alert(derivation.task);
if(derivation.task==="-1" || derivation.task==="-2")
{
var target=(task.derivation.to.length>1)?'derivationBottom':'derivation';
this.parent.dom.setStyle(task.object.elements[target],{
// background:((task.derivation.type===0)?"":"url("+this.options.images_dir+task.derivation.type+"t.gif?aa="+Math.random()+")")
// background:"url("+this.options.images_dir+derivation.task+".gif?aa="+Math.random()+")"
background:"url("+this.options.images_dir+derivation.task+((target=="derivationBottom")?"bb.jpg":".gif")+"?aa="+Math.random()+")"
});
}
else
{
var uid = this.tools.getIndexOfUid(derivation.task);
//alert(this.tools.getIndexOfUid)
//alert(this.tools.getIndexOfUid(derivation.task));
//var from = (task.derivation.type===0)?task.object.elements.task:task.object.elements.derivation;
var taskF= task.object.elements;
var taskT= this.data.db.task[uid].object.elements;
var from = task.object.elements.derivation;
var toTask=this.data.db.task[uid];
var to = toTask.object.elements.task;
if(task.derivation.type === 8 || task.derivation.type ===5)
{
var ij = toTask.object.inJoin;
ij = (ij)?ij+1:1;
toTask.object.inJoin = ij;
this.parent.dom.setStyle(toTask.object.elements.init,{
//background:((task.derivation.type===0)?"":"url("+this.options.images_dir+task.derivation.type+"t.gif?aa="+Math.random()+")")
background:"url("+this.options.images_dir+task.derivation.type+"t.gif?aa="+Math.random()+")",
backgroundPosition:"2 0",
backgroundRepeat:"no-repeat"
});
}
else
{
this.parent.dom.setStyle(task.object.elements.derivation,{
//background:((task.derivation.type===0)?"":"url("+this.options.images_dir+task.derivation.type+"t.gif?aa="+Math.random()+")")
background:"url("+this.options.images_dir+task.derivation.type+"t.gif?aa="+Math.random()+")"
});
}
var line = new this.parent.module.app.line({
indexRootSize:30,
indexRootLastSize:35,
elements:[taskF.task,taskT.task],
envolve:[
[taskF.task],
[]
],
target:this.panels.editor.elements.content,
color:"#228AB0",
startA:50,
zIndex:5
});
line.make();
var cE=this.observers.lineas.register(line.update,line);
derivation.object={
line : line,
indexObserver : cE
};
}
}
},
text:function()
{
var lngt = this.data.db.text.length;
for(var i =0;i<lngt;i++)
{
this.data.build.text(i);
}
this.panels.editor.clearContentStatus();
this.data.render.derivation();
}
},
build:{
task:function(index,options_task)
{
//console.log(index);
options_task = {
tp:'task'
}.concatMaborak(options_task || {});
/*var options = {
color:((options_task.tp==='task')?"auto":"green")
}.concatMaborak(this.data.db[(options_task.tp=='task')?'task':'subprocess'][index] || {});*/
//var options = this.data.db[(options_task.tp=='task')?'task':'subprocess'][index];
var options = this.data.db['task'][index];
//options.color = ((options_task.tp==='task')?"auto":"#9B88CA")