UNPKG

processmaker-builder

Version:

The gulp task runner for ProcessMaker building

1,202 lines (1,164 loc) 111 kB
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")