| 12 |
- MWF.xApplication=MWF.xApplication||{};MWF.xApplication.process=MWF.xApplication.process||{};MWF.xApplication.process.ProcessDesigner=MWF.xApplication.process.ProcessDesigner||{};MWF.APPPD=MWF.xApplication.process.ProcessDesigner;MWF.require("MWF.widget.Common",null,false);MWF.xDesktop.requireApp("process.ProcessDesigner","lp."+MWF.language,null,false);MWF.xDesktop.requireApp("process.ProcessDesigner","Property",null,false);MWF.xDesktop.requireApp("process.ProcessDesigner","Activity",null,false);MWF.xDesktop.requireApp("process.ProcessDesigner","Route",null,false);MWF.xApplication.process.ProcessDesigner.Process=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",isView:false},initialize:function(t,e,i,s){this.setOptions(s);this.path="/x_component_process_ProcessDesigner/$Process/";this.cssPath="/x_component_process_ProcessDesigner/$Process/"+this.options.style+"/css.wcss";this._loadCss();this.designer=i;this.process=e;this.paper=t;if(this.designer.application)this.process.applicationName=this.designer.application.name;if(this.designer.application)this.process.application=this.designer.application.id;this.activityTemplates=null;this.routeTemplates=null;this.begin=null;this.ends={};this.cancels={};this.manuals={};this.conditions={};this.choices={};this.splits={};this.parallels={};this.merges={};this.embeds={};this.delays={};this.invokes={};this.services={};this.agents={};this.messages={};this.activitys=[];this.selectedActivitys=[];this.selectedActivityDatas=[];this.scripts={};this.routes={};this.routeDatas={};this.isGrid=true;this.loadedBegin=false;this.loadedEnds=false;this.loadedCancels=false;this.loadedConditions=false;this.loadedChoices=false;this.loadedManuals=false;this.loadedSplits=false;this.loadedParallels=false;this.loadedMerges=false;this.loadedEmbeds=false;this.loadedDelays=false;this.loadedInvokes=false;this.loadedServices=false;this.loadedAgents=false;this.loadedMessages=false;this.isCreateRoute=false;this.currentCreateRoute=null;this.isCopyRoute=false;this.currentCopyRoute=null;this.isBrokenLine=false;this.isChangeRouteTo=false;this.isChangeRouteFrom=false;this.currentChangeRoute=null;this.unSelectedEvent=true;this.panel=null;this.property=null;this.isNewProcess=this.process.id?false:true},load:function(){this.createPropertyPanel();this.loadProcessActivitys(function(){this.loadProcessRoutes();this.loadActivityRoutes();this.loadProcessScripts();this.checkLoadRoutes();if(this.isNewProcess)this.checkUUID();this.fireEvent("postLoad")}.bind(this));this.setEvent();this.setMenu();this.showProperty()},checkLoadRoutes:function(){Object.each(this.routes,function(t){if(!t.loaded)t.load()})},checkUUID:function(){this.process.isNewProcess=true;var t=this.process.begin?2:1;t+=this.process.endList.length;t+=this.process.manualList.length;t+=this.process.conditionList.length;t+=this.process.choiceList.length;t+=this.process.parallelList.length;t+=this.process.splitList.length;t+=this.process.mergeList.length;t+=this.process.embedList.length;t+=this.process.invokeList.length;t+=this.process.cancelList.length;t+=this.process.routeList.length;debugger;this.designer.actions.getId(t,function(t){this.checkUUIDs=t.data;this.process.id=this.checkUUIDs.pop().id;this.process.createTime=(new Date).format("db");this.process.updateTime=(new Date).format("db");for(var e=0;e<this.activitys.length;e++){if(this.activitys[e].type!="begin"){delete this[this.activitys[e].type+"s"][this.activitys[e].data.id]}this.activitys[e].data.id=this.checkUUIDs.pop().id;this.activitys[e].data.process=this.process.id;if(this.activitys[e].type!="begin"){this[this.activitys[e].type+"s"][this.activitys[e].data.id]=this.activitys[e]}}for(var e=0;e<this.activitys.length;e++){this.activitys[e].checkUUID()}}.bind(this))},loadProcessScripts:function(){if(this.process.scriptList){this.process.scriptList.each(function(t){this.scripts[t.id]=t}.bind(this))}},setStyle:function(t){this.options.style=t;this.reload(this.process)},reload:function(t){this.panel.destroy();this.paper.clear();this.initialize(this.paper,t,this.designer,this.options);this.createPropertyPanel();this.loadProcessActivitys(function(){this.loadProcessRoutes();this.loadActivityRoutes();this.checkLoadRoutes()}.bind(this));this.showProperty()},setEvent:function(){this.paper.canvas.addEvent("selectstart",function(t){t.preventDefault();t.stopPropagation()});if(!this.options.isView){this.paper.canvas.addEvent("click",function(t){if(this.unSelectedEvent){if(this.currentSelected||this.selectedActivitys.length)this.unSelected(t)}else{this.unSelectedEvent=true}}.bind(this));this.paper.canvas.addEvent("mousedown",function(t){this.checkCreateRoute(t);this.checkSelectMulti(t)}.bind(this))}},checkSelectMulti:function(t){if(!t.rightClick){var e=t.event.offsetX;var i=t.event.offsetY;var s=this.paper.getElementsByPoint(e,i);if(!s.length){if(!this.isCreateRoute&&!this.isCopyRoute){this.checkSelectMultiMouseMoveBind=function(t){this.checkSelectMultiMouseMove(t,{x:e,y:i})}.bind(this);this.checkSelectMultiMouseUpBind=function(t){this.checkSelectMultiStop(t,{x:e,y:i})}.bind(this);this.paper.canvas.addEvent("mousemove",this.checkSelectMultiMouseMoveBind);this.paper.canvas.addEvent("mouseup",this.checkSelectMultiMouseUpBind)}}}},unSelectedAll:function(){if(this.currentSelected)this.currentSelected.unSelected();this.property.hide();this.selectedActivitys.each(function(t){t.unSelectedMulti()});this.selectedActivitys=[];this.selectedActivityDatas=[]},checkSelectMultiMouseMove:function(t,e){var i={x:t.event.offsetX,y:t.event.offsetY};if(MWFRaphael.getPointDistance(e,i)>8){this.paper.canvas.removeEvent("mousemove",this.checkSelectMultiMouseMoveBind);if(!this.isCreateRoute&&!this.isCopyRoute&&!this.isBrokenLine&&!this.isChangeRouteTo&&!this.isChangeRouteFrom){var s=Math.min(e.x,i.x);var o=Math.min(e.y,i.y);var n=Math.abs(i.x-e.x);var a=Math.abs(i.y-e.y);var r=this.paper.rect(s,o,n,a,0).attr({fill:"#a8caec",stroke:"#3399ff","stroke-width":"0.8","fill-opacity":.5});this.beginSelectMultiMouseMoveBind=function(t){this.beginSelectMultiMouseMove(t,e,r)}.bind(this);this.endSelectMultiMouseMoveBind=function(t){return this.endSelectMulti(t,e,r)}.bind(this);this.unSelectedAll();this.paper.canvas.addEvent("mousemove",this.beginSelectMultiMouseMoveBind);this.paper.canvas.addEvent("mouseup",this.endSelectMultiMouseMoveBind)}}},checkSelectMultiStop:function(){this.paper.canvas.removeEvent("mousemove",this.checkSelectMultiMouseMoveBind)},beginSelectMultiMouseMove:function(t,e,i){var s={x:t.event.offsetX,y:t.event.offsetY};var o=Math.min(e.x,s.x);var n=Math.min(e.y,s.y);var a=Math.abs(s.x-e.x);var r=Math.abs(s.y-e.y);i.attr({x:o,y:n,width:a,height:r});this.checkSelectActivity(t,e,i)},endSelectMulti:function(t,e,i){i.remove();if(this.selectedActivityDatas.length){this.panel.data=this.selectedActivityDatas}this.paper.canvas.removeEvent("mousemove",this.beginSelectMultiMouseMoveBind);this.paper.canvas.removeEvent("mouseup",this.endSelectMultiMouseMoveBind);if(this.selectedActivitys.length){this.unSelectedEvent=false;window.setTimeout(function(){this.unSelectedEvent=true}.bind(this),300)}return false},checkSelectActivity:function(t,e,i){var s={x:t.event.offsetX,y:t.event.offsetY};var o=Math.min(e.x,s.x);var n=Math.min(e.y,s.y);var a=Math.max(e.x,s.x);var r=Math.max(e.y,s.y);this.activitys.each(function(t){var e=t.center.x;var i=t.center.y;if(e>o&&e<a&&i>n&&i<r){if(!t.selectedMultiStatus)t.selectedMulti()}else{this.selectedActivitys.erase(t);this.selectedActivityDatas.erase(t.data);t.unSelectedMulti()}}.bind(this));if(this.selectedActivityDatas.length){if(this.property)this.property.showMultiActivity(this.selectedActivitys);this.panel.propertyTabPage.showTabIm();this.panel.data=this.selectedActivityDatas}else{this.unSelectedAll();this.showProperty()}},showProperty:function(){if(!this.property){this.property=new MWF.APPPD.Process.Property(this,{onPostLoad:function(){this.property.show()}.bind(this)});this.property.load()}else{this.property.show()}},unSelected:function(t){var e=this.paper.getElementsByPoint(t.event.offsetX,t.event.offsetY);if(!e.length){this.unSelectedAll();this.showProperty()}},setMenu:function(){MWF.require("MWF.widget.Menu",function(){this.menu=new MWF.widget.Menu(this.paper.canvas,{onQueryShow:function(t){var e=this.getPointElement(t.event.offsetX,t.event.offsetY);switch(e.type){case"activity":this.addActivityMenu(e.bind);break;case"route":this.addRouteMenu(e.bind);break;default:this.addProcessMenu()}}.bind(this)});this.menu.load()}.bind(this))},addPublicMenu:function(t,e){var i=e;if(!i)i=this.createRoute.bind(this);this.menu.addMenuItem(MWF.APPPD.LP.menu.newRoute,"click",i,this.designer.path+""+this.options.style+"/toolbarIcon/"+"newRouter.gif");if(!this.newActivityMenu){MWF.require("MWF.widget.Menu",null,false);this.newActivityMenu=new MWF.widget.Menu(this.paper.canvas,{event:null});this.newActivityMenu.load();this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.manual,"click",this.createManualActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"manual.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.condition,"click",this.createConditionActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"condition.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.auto,"click",this.createAutoActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"auto.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.split,"click",this.createSplitActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"split.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.merge,"click",this.createMergeActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"merge.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.embed,"click",this.createEmbedActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"embed.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.invoke,"click",this.createInvokesActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"invoke.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.begin,"click",this.createBeginActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"begin.gif");this.newActivityMenu.addMenuItem(MWF.APPPD.LP.menu.newActivityType.end,"click",this.createEndActivity.bind(this),this.designer.path+""+this.designer.options.style+"/toolbarIcon/"+"end.gif")}this.menu.addMenuMenu(MWF.APPPD.LP.menu.newActivity,this.designer.path+""+this.options.style+"/toolbarIcon/"+"newActivity.gif",this.newActivityMenu)},addActivityMenu:function(t){this.menu.clearItems();var e=function(){t.quickCreateRoute()};this.addPublicMenu(t,e);this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.copyActivity,"click",function(e){this.copyActivity(t)}.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"copy.png");this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.deleteActivity,"click",function(e){this.deleteActivity(e,t)}.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"deleteActivity.gif")},addRouteMenu:function(t){this.menu.clearItems();this.addPublicMenu();this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.deleteRoute,"click",function(e){this.deleteRoute(e,t)}.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"deleteRouter.gif")},addProcessMenu:function(){var t=this;this.menu.clearItems();this.addPublicMenu();this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.saveProcess,"click",this.save.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"save.gif");this.menu.addMenuItem(MWF.APPPD.LP.menu.saveProcessNew,"click",this.saveNew.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"saveNew.gif",true);this.menu.addMenuLine();if(this.isGrid){this.menu.addMenuItem(MWF.APPPD.LP.menu.hideGrid,"click",function(){t.switchGrid(this)},this.designer.path+""+this.options.style+"/toolbarIcon/"+"gridding.gif")}else{this.menu.addMenuItem(MWF.APPPD.LP.menu.showGrid,"click",function(){t.switchGrid(this)},this.designer.path+""+this.options.style+"/toolbarIcon/"+"gridding.gif")}this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.checkProcess,"click",this.checkProcess.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"checkProcess.gif",true);this.menu.addMenuItem(MWF.APPPD.LP.menu.exportProcess,"click",this.exportProcess.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"processExplode.gif",true);this.menu.addMenuLine();this.menu.addMenuItem(MWF.APPPD.LP.menu.printProcess,"click",this.printProcess.bind(this),this.designer.path+""+this.options.style+"/toolbarIcon/"+"print.gif",true)},saveNew:function(t){this.designer.alert("error",t,"",MWF.APPPD.LP.unrealized,220,100)},checkProcess:function(t){this.designer.alert("error",t,"",MWF.APPPD.LP.unrealized,220,100)},exportProcess:function(t){this.designer.alert("error",t,"",MWF.APPPD.LP.unrealized,220,100)},printProcess:function(t){this.designer.alert("error",t,"",MWF.APPPD.LP.unrealized,220,100)},switchGrid:function(t){if(this.isGrid){this.hideGrid()}else{this.showGrid()}},showGrid:function(){this.designer.paperNode.setStyle("background-image","url("+MWF.defaultPath+"/process/ProcessChart/$Process/"+this.options.style+"/griddingbg.gif)");this.isGrid=true},hideGrid:function(){this.designer.paperNode.setStyle("background-image","");this.isGrid=false},getPointElement:function(t,e){var i=this.paper.getElementsByPoint(t,e);var s=null;var o="none";if(i.length){for(var n=0;n<i.length;n++){var a=i[n].data("bind");if(a){if(instanceOf(a,MWF.APPPD.Activity)){s=a;o="activity";break}if(instanceOf(a,MWF.APPPD.Route)){s=a;o="route"}}}}return{bind:s,type:o}},loadActivityRoutes:function(){this.activitys.each(function(t){t.loadRoutes()})},loadProcessRoutes:function(){this.process.routeList.each(function(t){this.routes[t.id]=new MWF.APPPD.Route(t,this);this.routeDatas[t.id]=t}.bind(this))},createPropertyPanel:function(){if(!this.options.isView){this.panel=new MWF.APPPD.Process.Panel(this);this.panel.load()}},loadedActivitys:function(t){if(this.loadedBegin&&this.loadedEnds&&this.loadedCancels&&this.loadedConditions&&this.loadedChoices&&this.loadedSplits&&this.loadedParallels&&this.loadedMerges&&this.loadedManuals&&this.loadedEmbeds&&this.loadedDelays&&this.loadedInvokes&&this.loadedServices&&this.loadedAgents&&this.loadedMessages){if(t)t()}},loadProcessActivitys:function(t){this.loadBegin(function(){this.loadedBegin=true;this.loadedActivitys(t)}.bind(this));this.loadEndList(function(){this.loadedEnds=true;this.loadedActivitys(t)}.bind(this));this.loadCancelList(function(){this.loadedCancels=true;this.loadedActivitys(t)}.bind(this));this.loadManualList(function(){this.loadedManuals=true;this.loadedActivitys(t)}.bind(this));this.loadConditionList(function(){this.loadedConditions=true;this.loadedActivitys(t)}.bind(this));this.loadChoiceList(function(){this.loadedChoices=true;this.loadedActivitys(t)}.bind(this));this.loadSplitList(function(){this.loadedSplits=true;this.loadedActivitys(t)}.bind(this));this.loadParallelList(function(){this.loadedParallels=true;this.loadedActivitys(t)}.bind(this));this.loadMergeList(function(){this.loadedMerges=true;this.loadedActivitys(t)}.bind(this));this.loadEmbedList(function(){this.loadedEmbeds=true;this.loadedActivitys(t)}.bind(this));this.loadDelayList(function(){this.loadedDelays=true;this.loadedActivitys(t)}.bind(this));this.loadInvokeList(function(){this.loadedInvokes=true;this.loadedActivitys(t)}.bind(this));this.loadServiceList(function(){this.loadedServices=true;this.loadedActivitys(t)}.bind(this));this.loadAgentList(function(){this.loadedAgents=true;this.loadedActivitys(t)}.bind(this));this.loadMessageList(function(){this.loadedMessages=true;this.loadedActivitys(t)}.bind(this))},loadBegin:function(t){var e=this.process["begin"];if(e){this.begin=new MWF.APPPD.Activity.Begin(e,this);this.begin.load(t)}else{if(t)t()}this.activitys.push(this.begin)},loadEndList:function(t){this.loadActivitys("End","endList",this.ends,t)},loadCancelList:function(t){this.loadActivitys("Cancel","cancelList",this.cancels,t)},loadManualList:function(t){this.loadActivitys("Manual","manualList",this.manuals,t)},loadConditionList:function(t){this.loadActivitys("Condition","conditionList",this.conditions,t)},loadChoiceList:function(t){this.loadActivitys("Choice","choiceList",this.choices,t)},loadSplitList:function(t){this.loadActivitys("Split","splitList",this.splits,t)},loadParallelList:function(t){this.loadActivitys("Parallel","parallelList",this.parallels,t)},loadMergeList:function(t){this.loadActivitys("Merge","mergeList",this.merges,t)},loadEmbedList:function(t){this.loadActivitys("Embed","embedList",this.embeds,t)},loadDelayList:function(t){this.loadActivitys("Delay","delayList",this.delays,t)},loadInvokeList:function(t){this.loadActivitys("Invoke","invokeList",this.invokes,t)},loadServiceList:function(t){this.loadActivitys("Service","serviceList",this.services,t)},loadAgentList:function(t){this.loadActivitys("Agent","agentList",this.agents,t)},loadMessageList:function(t){this.loadActivitys("Message","messageList",this.messages,t)},loadActivitys:function(t,e,i,s){var o=this.process[e];if(o){var n=o.length;var a=0;if(n){o.each(function(e){this.loadActivity(t,e,i,function(){a++;if(a==n){if(s)s()}}.bind(this))}.bind(this))}else{if(s)s()}}else{if(s)s()}},loadActivity:function(t,e,i,s){activity=new MWF.APPPD.Activity[t](e,this);activity.load(s);i[e.id]=activity;this.activitys.push(activity)},destroy:function(){this.paper.remove()},save:function(t){if(!this.isSave){this.isSave=true;this.designer.actions.saveProcess(this.process,function(t){this.isSave=false;this.process.isNewProcess=false;this.designer.notice(MWF.APPPD.LP.notice["save_success"],"ok",null,{x:"left",y:"bottom"});this.isNewProcess=false}.bind(this),function(t,e,i){this.isSave=false;var s=i+":"+e;if(t)s=t.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+s)}.bind(this))}else{MWF.xDesktop.notice("info",{x:"right",y:"top"},this.designer.lp.isSave)}},getActivityTemplate:function(t){if(this.activityTemplates){if(t)t()}else{var e=this.path+"activity.json";var i=new Request.JSON({url:e,secure:false,async:false,method:"get",noCache:true,onSuccess:function(e,i){this.activityTemplates=e;if(t)t()}.bind(this),onError:function(t,e){alert(e)}});i.send()}},getRouteTemplates:function(t){if(this.routeTemplates){if(t)t()}else{var e=this.path+"route.json";var i=new Request.JSON({url:e,secure:false,async:false,method:"get",noCache:true,onSuccess:function(e,i){this.routeTemplates=e;if(t)t()}.bind(this),onError:function(t,e){alert(e)}});i.send()}},createActivity:function(t,e,i){if(t=="begin"){if(this.begin){this.designer.notice(MWF.APPPD.LP.notice["one_begin"],"error",null,{x:"right",y:"top"});return false}}var s=null;this.getActivityTemplate(function(){var o=Object.clone(this.activityTemplates[t]);this.designer.actions.getUUID(function(t){o.id=t});o.process=this.process.id;o.createTime=(new Date).format("db");o.updateTime=(new Date).format("db");s=new MWF.APPPD.Activity[e](o,this);s.create(i);if(t=="begin"){this.begin=s;this.process.begin=o}else{this[t+"s"][o.id]=s;if(!this.process[t+"List"]){this.process[t+"List"]=[]}this.process[t+"List"].push(o)}this.activitys.push(s)}.bind(this));return s},createManualActivity:function(){this.createActivity("manual","Manual")},createConditionActivity:function(){this.createActivity("condition","Condition")},createAutoActivity:function(){this.createActivity("auto","Auto")},createSplitActivity:function(){this.createActivity("split","Split")},createMergeActivity:function(){this.createActivity("merge","Merge")},createEmbedActivity:function(){this.createActivity("embed","Embed")},createInvokesActivity:function(){this.createActivity("invoke","Invoke")},createBeginActivity:function(){this.createActivity("begin","Begin")},createEndActivity:function(){this.createActivity("end","End")},createRoute:function(){if(!this.isCopyRoute&&!this.isCreateRoute){this.getRouteTemplates(function(){var t=Object.clone(this.routeTemplates.route);this.designer.actions.getUUID(function(e){t.id=e});t.process=this.process.id;t.createTime=(new Date).format("db");t.updateTime=(new Date).format("db");var e=new MWF.APPPD.Route(t,this);e.isBack=true;e.load();e.set.toBack();this.beginRouteCreate(e)}.bind(this))}},beginRouteCreate:function(t){this.isCreateRoute=true;this.currentCreateRoute=t;this.designer.setToolBardisabled("createRoute");this.routeCreateFromMouseMoveBind=function(t){this.routeCreateFromMouseMove(t)}.bind(this);this.paper.canvas.addEvent("mousemove",this.routeCreateFromMouseMoveBind)},routeCreateFromMouseMove:function(t){debugger;var e=t.event.offsetX.toFloat();var i=t.event.offsetY.toFloat();var s=e-this.currentCreateRoute.beginPoint.x-5;var o=i-this.currentCreateRoute.beginPoint.y+5;this.currentCreateRoute.set.transform("t"+s+","+o)},routeCreateFromActivity:function(t){this.paper.canvas.removeEvent("mousemove",this.routeCreateFromMouseMoveBind);var e=this.currentCreateRoute;e.setActivity(null,t);e.reload();this.routeCreateToMouseMoveBind=function(t){this.routeCreateToMouseMove(t)}.bind(this);this.paper.canvas.addEvent("mousemove",this.routeCreateToMouseMoveBind)},routeCreateToMouseMove:function(t){var e=t.event.offsetX.toFloat();var i=t.event.offsetY.toFloat();var s=this.currentCreateRoute;s.tmpEndPoint={x:e-3,y:i-3};s.reload()},routeCreateToActivity:function(t){this.paper.canvas.removeEvent("mousemove",this.routeCreateToMouseMoveBind);var e=this.currentCreateRoute;e.tmpEndPoint=null;e.tmpBeginPoint=null;e.setActivity(t,null);e.isBack=false;e.reload();t.shap.attr(t.style.shap);this.endRouteCreate()},endRouteCreate:function(){var t=this.currentCreateRoute;t.selected();this.isCreateRoute=false;this.currentCreateRoute=null;t.setListItemData();this.designer.setToolBardisabled("decision");this.setNewRouteProcessData(t)},setNewRouteProcessData:function(t){this.routes[t.data.id]=t;this.process.routeList.push(t.data);t.fromActivity.setRouteData(t.data.id);t.data.activity=t.toActivity.data.id;t.data.activityType=t.toActivity.type},routeCreateCancel:function(){var t=this.currentCreateRoute;if(t.fromActivity){t.fromActivity.routes.erase(t)}t.destroy();delete t;this.isCreateRoute=false;this.currentCreateRoute=null;if(this.routeCreateFromMouseMoveBind)this.paper.canvas.removeEvent("mousemove",this.routeCreateFromMouseMoveBind);if(this.routeCreateToMouseMoveBind)this.paper.canvas.removeEvent("mousemove",this.routeCreateToMouseMoveBind)},checkCreateRoute:function(t){if(this.isCreateRoute||this.isCopyRoute){if(t.rightClick){if(this.isCreateRoute){this.routeCreateCancel()}if(this.isCopyRoute){this.routeAddCancel()}}if(this.menu)this.menu.pause(1)}},clearSelected:function(){this.begin.unSelectActivity();for(a in this.ends)this.ends[a].unSelected();for(a in this.conditions)this.conditions[a].unSelected();for(a in this.autos)this.autos[a].unSelected();for(a in this.manuals)this.manuals[a].unSelected();for(a in this.embeds)this.embeds[a].unSelected();for(a in this.invokes)this.invokes[a].unSelected()},copyRoute:function(t){if(!this.isCopyRoute&&!this.isCreateRoute){var e=Object.clone(t.data);this.designer.actions.getUUID(function(t){e.id=t});var t=new MWF.APPPD.Route(e,this);t.load();t.isBack=true;this.isCopyRoute=true;this.currentCopyRoute=t;this.beginRouteCopy(t)}},beginRouteCopy:function(t){this.routeCopyMouseMoveBind=function(e){this.copyRouteMouseMove(e,t)}.bind(this);this.paper.canvas.addEvent("mousemove",this.routeCopyMouseMoveBind)},copyRouteMouseMove:function(t,e){e.tmpBeginPoint={x:t.event.offsetX-5,y:t.event.offsetY-5};e.reload()},routeAddFromActivity:function(t){var e=this.currentCopyRoute;this.paper.canvas.removeEvent("mousemove",this.routeCopyMouseMoveBind);e.setActivity(null,t);e.isBack=false;e.reload();t.shap.attr(t.style.shap);this.endRouteCopy()},endRouteCopy:function(){var t=this.currentCopyRoute;t.selected();this.isCopyRoute=false;this.currentCopyRoute=null;t.setListItemData();this.designer.setToolBardisabled("decision");this.setCopyRouteProcessData(t)},routeAddCancel:function(){var t=this.currentCopyRoute;t.destroy();delete t;this.isCopyRoute=false;this.currentCopyRoute=null;if(this.routeAddMouseMoveBind)this.paper.canvas.removeEvent("mousemove",this.routeAddMouseMoveBind)},setCopyRouteProcessData:function(t){this.process.routeList.push(t.data);t.fromActivity.setRouteData(t.data.id);this.routeDatas[t.data.id]=t.data},deleteRoute:function(t,e){var i=this;this.designer.shortcut=false;this.designer.confirm("warn",t,MWF.APPPD.LP.notice.deleteRouteTitle,MWF.APPPD.LP.notice.deleteRoute,300,120,function(){e.destroy();delete e;i.designer.shortcut=true;this.close()},function(){i.designer.shortcut=true;this.close()},null)},copyActivity:function(t){var e=Object.clone(t.data);var i=t.type;var s=i.capitalize();this.designer.actions.getUUID(function(t){e.id=t});e.process=this.process.id;t=new MWF.APPPD.Activity[s](e,this);t.create();t.selected();if(i=="begin"){this.begin=t;this.process.begin=e}else{this[i+"s"][e.id]=t;if(!this.process[i+"List"]){this.process[i+"List"]=[]}this.process[i+"List"].push(e)}},deleteActivity:function(t,e){var i=this;this.designer.shortcut=false;this.designer.confirm("warn",t,MWF.APPPD.LP.notice.deleteActivityTitle,MWF.APPPD.LP.notice.deleteActivity,300,120,function(){e.destroy();delete e;i.designer.shortcut=true;this.close()},function(){i.designer.shortcut=true;this.close()},null)},explode:function(){MWF.require("MWF.widget.Base64",null,false);var t=MWF.widget.Base64.encode(JSON.encode(this.process));MWF.require("MWF.widget.Panel",function(){var t=new Element("div");var e=this.designer.paperNode.getPosition(this.designer.paperNode.getOffsetParent());var i=new Element("textarea",{styles:{border:"1px solid #999",width:"770px","margin-left":"14px","margin-top":"14px",height:"580px"},text:JSON.encode(this.process)}).inject(t);this.explodePanel=new MWF.widget.Panel(t,{style:"form",isResize:false,isMax:false,title:"",width:800,height:660,top:e.y,left:e.x+3,isExpand:false,target:this.designer.node});this.explodePanel.load()}.bind(this))}});MWF.xApplication.process.ProcessDesigner.Process.Panel=new Class({initialize:function(t){this.process=t;this.width=370;this.top=0;var e=this.process.designer.paperNode.getSize();this.left=e.x.toFloat()-376;this.height=e.y.toFloat()-6;this.stopParseJson=false},load:function(){this.panelNode=new Element("div");this.createModuleListTab();this.createPropertyTab();this.createPanelResizeNode();this.moduleTabContent.inject(this.panelNode);this.panelResizeNode.inject(this.panelNode);this.propertyTabContent.inject(this.panelNode);MWF.require("MWF.widget.Panel",function(){this.modulePanel=new MWF.widget.Panel(this.panelNode,{title:MWF.APPPD.LP.property,isClose:false,target:this.process.designer.paperNode,height:this.height,width:this.width,left:this.left,top:this.top,transition:Fx.Transitions.linear.easeIn,transitionOut:Fx.Transitions.linear.easeOut,duration:100,onResize:function(){this.setPanelSize(this.panelModulePercent)}.bind(this)});this.modulePanel.load();this.setPanelSize(this.panelModulePercent)}.bind(this))},setPanelSize:function(t){var e=this.modulePanel.content.getSize();var i=this.panelResizeNode.getSize();var s=this.panelResizeNode.getStyle("margin-top");var o=this.panelResizeNode.getStyle("margin-bottom");var n=e.y.toFloat()-i.y.toFloat()-s.toFloat()-o.toFloat();var a=t;if(!a)a=.3;var r=n*a;var h=n-r;this.moduleListContent.setStyle("height",r);if(!this.propertyPanel)this.propertyListContent.setStyle("height",h);var c=this.moduleListTab.tabNodeContainer.getSize();this.moduleListTab.pages.each(function(t){var e=t.contentNodeArea.getStyle("margin-top").toFloat();var i=t.contentNodeArea.getStyle("margin-bottom").toFloat();var s=r-e-i-c.y.toFloat()-2;t.contentNodeArea.setStyle("height",s)}.bind(this));if(!this.propertyPanel){var d=this.propertyListTab.tabNodeContainer.getSize();this.propertyListTab.pages.each(function(t){var e=t.contentNodeArea.getStyle("margin-top").toFloat();var i=t.contentNodeArea.getStyle("margin-bottom").toFloat();var s=h-e-i-d.y.toFloat()-2;t.contentNodeArea.setStyle("height",s)}.bind(this))}if(this.jsonStringConfirmNode)this.setJsonStringConfirmNodePosition()},createPanelResizeNode:function(){this.panelResizeNode=new Element("div",{styles:this.process.css.panelResizeNode});this.panelResizeNode.addEvent("mousedown",function(t){this.beginPanelResize(t)}.bind(this))},beginPanelResize:function(){this.panelResizeMouseMoveBind=function(t){this.panelResize(t)}.bind(this);this.panelResizeMouseUpBind=function(){$(document.body).removeEvent("selectstart",this.panelResizeSelecttBind);$(document.body).removeEvent("mousemove",this.panelResizeMouseMoveBind);$(document.body).removeEvent("mouseup",this.panelResizeMouseUpBind)}.bind(this);this.panelResizeSelecttBind=function(){return false}.bind(this);$(document.body).addEvent("selectstart",this.panelResizeSelecttBind);$(document.body).addEvent("mousemove",this.panelResizeMouseMoveBind);$(document.body).addEvent("mouseup",this.panelResizeMouseUpBind)},panelResize:function(t){var e=t.event.pageY;var i=this.moduleListContent.getPosition();var s=e.toFloat()-i.y.toFloat();if(s<40)s=40;var o=this.modulePanel.content.getSize();var n=this.panelResizeNode.getSize();var a=this.panelResizeNode.getStyle("margin-top");var r=this.panelResizeNode.getStyle("margin-bottom");var h=o.y.toFloat()-n.y.toFloat()-a.toFloat()-r.toFloat();var c=h-s;if(c<40){c=40;s=h-c}this.moduleListContent.setStyle("height",s);this.propertyListContent.setStyle("height",c);var d=this.moduleListTab.tabNodeContainer.getSize();var l=this.propertyListTab.tabNodeContainer.getSize();this.moduleListTab.pages.each(function(t){var e=t.contentNodeArea.getStyle("margin-top").toFloat();var i=t.contentNodeArea.getStyle("margin-bottom").toFloat();var o=s-e-i-d.y.toFloat()-2;t.contentNodeArea.setStyle("height",o)}.bind(this));this.propertyListTab.pages.each(function(t){var e=t.contentNodeArea.getStyle("margin-top").toFloat();var i=t.contentNodeArea.getStyle("margin-bottom").toFloat();var s=c-e-i-l.y.toFloat()-2;t.contentNodeArea.setStyle("height",s)}.bind(this));if(this.jsonStringConfirmNode)this.setJsonStringConfirmNodePosition();this.panelModulePercent=s.toFloat()/h.toFloat()},loadJson:function(t){this.jsonParse=new MWF.APPPD.Process.JsonParse(t,this.jsonObjectNode,this.jsonStringNode);window.setTimeout(function(){this.jsonParse.load()}.bind(this),1)},clearJson:function(){debugger;this.json=null;this.jsonString="";this.jsonStringNode.set("text","");this.jsonObjectNode.empty();if(this.jsonParse)this.jsonParse=null},createJsonStringNode:function(){var t=new Element("textarea",{styles:{width:"99%",height:"99%",overflow:"auto",border:"0px"}});return t},createJsonObjectNode:function(){this.jsonObjectNode=new Element("div",{styles:{"margin-top":"0px",height:"auto"}});return this.jsonObjectNode},createJsonStringConfirmNode:function(){this.jsonStringConfirmNode=new Element("div",{styles:{width:"20px",height:"20px","background-color":"#EEE",background:"url("+MWF.defaultPath+"/process/ProcessChart/$Process/"+this.process.options.style+"/checkmark.png"+") no-repeat center center",position:"absolute",cursor:"pointer",display:"none"},events:{mouseover:function(){this.store("flag",true)},mouseout:function(){this.store("flag",false)},click:function(){this.checkJsonStringAndReload()}.bind(this)}}).inject(this.jsonStringNode,"after")},checkJsonStringAndReload:function(){if(!this.process.selectedActivitys.length){try{var t=JSON.decode(this.jsonStringNode.value);if(t){if(this.process.currentSelected){Object.copy(t,this.process.currentSelected.data);this.process.currentSelected.redraw();
- }else{t.id=this.process.process.id;t.processCategory=this.process.process.processCategory;this.process.reload(t)}}}catch(t){this.designer.notice(t.message,"error",this.jsonStringNode.getParent(),{x:"left",y:"top"})}}},setJsonStringConfirmNodePosition:function(){var t=this.jsonStringNode.getPosition(this.panelNode);var e=this.panelNode.getSize();this.jsonStringConfirmNode.setStyles({display:"block",top:t.y+4,left:e.x-26})},createPropertyTab:function(){this.propertyTabContent=new Element("div");this.propertyListContent=new Element("div",{styles:this.process.css.propertyListContent}).inject(this.propertyTabContent);this.propertyListNode=new Element("div",{styles:this.process.css.propertyListNode});this.process.propertyListNode=this.propertyListNode;this.jsonObjectNode=this.createJsonObjectNode();this.jsonStringNode=this.createJsonStringNode();this.jsonStringNode.addEvents({focus:function(){if(!this.process.selectedActivitys.length){if(!this.jsonStringConfirmNode)this.createJsonStringConfirmNode();this.setJsonStringConfirmNodePosition()}}.bind(this),blur:function(t){if(this.jsonStringConfirmNode){if(!this.jsonStringConfirmNode.retrieve("flag"))this.jsonStringConfirmNode.setStyle("display","none")}}.bind(this)});MWF.require("MWF.widget.Tab",function(){this.propertyListTab=new MWF.widget.Tab(this.propertyListContent,{style:"moduleList"});this.propertyListTab.load();this.propertyTabPage=this.propertyListTab.addTab(this.propertyListNode,MWF.APPPD.LP.property,false);this.objectTabPage=this.propertyListTab.addTab(this.jsonObjectNode,"JSON",false);this.stringTabPage=this.propertyListTab.addTab(this.jsonStringNode,"Text",false);this.process.setScrollBar(this.propertyTabPage.contentNodeArea,"small",null,null);this.process.setScrollBar(this.objectTabPage.contentNodeArea,"small",null,null);this.process.setScrollBar(this.stringTabPage.contentNodeArea,"small",null,null);this.objectTabPage.setOptions({onShow:function(){this.loadJson(this.data)}.bind(this),onHide:function(){this.clearJson()}.bind(this)});this.stringTabPage.setOptions({onShow:function(){this.loadJson(this.data)}.bind(this),onHide:function(){this.clearJson()}.bind(this)});this.propertyTabPage.showTab();this.propertyListTab.tabNodeContainer.addEvent("mousedown",function(t){this.propertyTabMove(t)}.bind(this))}.bind(this),false)},propertyTabMove:function(t){var e=this.propertyListContent.getSize();var i=new Element("div",{styles:{opacity:.7,border:"1px dashed #CCC","z-index":this.modulePanel.container.getStyle("z-index").toInt()+1,width:e.x,height:e.y,"background-color":"#EEE",position:"absolute"}}).inject(this.process.designer.paperNode);i.position({relativeTo:this.propertyListContent,position:"upperLeft",edge:"upperLeft"});var s=new Drag.Move(i,{droppables:[this.process.designer.paperNode,this.panelNode],onEnter:function(t,e){if(this.propertyPanel){if(this.panelNode==e){t.tween("border","4px dashed #666")}else{t.tween("border","1px dashed #CCC")}}else{if(this.panelNode==e){t.tween("border","1px dashed #CCC")}else{t.tween("border","4px dashed #666")}}}.bind(this),onLeave:function(t,e){t.tween("border","1px dashed #CCC")},onDrop:function(t,e){if(this.panelNode!=e){this.propertyOut(t)}else{this.propertyIn()}t.destroy()}.bind(this),onCancel:function(t){t.destroy()}});s.start(t)},propertyOut:function(t){if(!this.propertyPanel){var e=t.getCoordinates();var i=this.process.designer.paperNode.getPosition();var s=new Element("div");this.propertyListContent.inject(s);MWF.require("MWF.widget.Panel",function(){this.propertyPanel=new MWF.widget.Panel(s,{title:MWF.APPPD.LP.property,isClose:false,target:this.process.designer.paperNode,height:e.height,width:e.width,left:e.left.toFloat()-i.x.toFloat(),top:e.top.toFloat()-i.y.toFloat(),onResize:function(){this.setPropertyPanelSize()}.bind(this)});this.propertyPanel.load();this.propertyOutSetHeight();this.setPropertyPanelSize(this.panelModulePercent)}.bind(this))}},setPropertyPanelSize:function(){var t=this.propertyPanel.content.getSize();var e=t.y;this.propertyListContent.setStyle("height",e);var i=this.propertyListTab.tabNodeContainer.getSize();this.propertyListTab.pages.each(function(t){var s=t.contentNodeArea.getStyle("margin-top").toFloat();var o=t.contentNodeArea.getStyle("margin-bottom").toFloat();var n=e-s-o-i.y.toFloat()-2;t.contentNodeArea.setStyle("height",n)}.bind(this))},propertyOutSetHeight:function(){this.panelResizeNode.setStyles(this.process.css.panelResizeNodeHide);this.panelModulePercent="1";this.setPanelSize(this.panelModulePercent)},propertyIn:function(){this.propertyListContent.inject(this.propertyTabContent);if(this.propertyPanel)this.propertyPanel.closePanel();this.propertyPanel=null;this.propertyInSetHeight()},propertyInSetHeight:function(){this.panelResizeNode.setStyles(this.process.css.panelResizeNode);this.panelModulePercent="0.3";this.setPanelSize(this.panelModulePercent)},createModuleListTab:function(){this.moduleTabContent=new Element("div");this.moduleListContent=new Element("div",{styles:this.process.css.moduleListContent}).inject(this.moduleTabContent);this.activityListNode=new Element("div",{styles:this.process.css.activityListNode});this.process.activityListNode=this.activityListNode;this.activityTable=new HtmlTable({properties:this.process.css.activityListTable}).inject(this.activityListNode);this.process.activityTable=this.activityTable;this.routeListNode=new Element("div",{styles:this.process.css.routeListNode});this.process.routeListNode=this.routeListNode;this.routeTable=new HtmlTable({properties:this.process.css.routeListTable}).inject(this.routeListNode);this.process.routeTable=this.routeTable;MWF.require("MWF.widget.Tab",function(){this.moduleListTab=new MWF.widget.Tab(this.moduleListContent,{style:"moduleList"});this.moduleListTab.load();var t=this.moduleListTab.addTab(this.activityListNode,MWF.APPPD.LP.activity,false);this.process.setScrollBar(t.contentNodeArea,"small",null,null);var e=this.moduleListTab.addTab(this.routeListNode,MWF.APPPD.LP.route,false);this.process.setScrollBar(e.contentNodeArea,"small",null,null);t.showTab()}.bind(this),false)},destroy:function(){if(this.modulePanel)this.modulePanel.destroy();if(this.propertyPanel)this.propertyPanel.destroy()}});MWF.xApplication.process.ProcessDesigner.Process.Property=new Class({Implements:[Options,Events],Extends:MWF.APPPD.Property,initialize:function(t,e){this.setOptions(e);this.process=t;this.paper=this.process.paper;this.data=t.process;this.htmlPath="/x_component_process_ProcessDesigner/$Process/process.html"}});MWF.xApplication.process.ProcessDesigner.Process.JsonParse=new Class({initialize:function(t,e,i){this.json=t;this.jsonObjectNode=e;this.jsonStringNode=i;this.stopParseJson=false},load:function(){this.jsonString=JSON.encode(this.json);this.loadObjectTree()},loadObjectTree:function(){if(this.objectTree){this.objectTree.node.destroy();this.objectTree=null}MWF.require("MWF.widget.Tree",function(){this.objectTree=new MWF.widget.Tree(this.jsonObjectNode,{style:"jsonview"});this.objectTree.load();var t=this.parseJsonObject(0,this.objectTree,"","JSON",this.json,true);var e=t.substring(0,t.length-2);if(!this.stopParseJson){this.jsonStringNode.set("text",e)}else{this.stopParseJson=false}}.bind(this))},parseJsonObject:function(t,e,i,s,o,n){if(this.stopParseJson){return false}var a={expand:n,title:"",text:"",action:"",icon:""};var r="";for(var h=0;h<t;h++)r+="\t";if(i)i='"'+i+'": ';var c="";var d=t+1;switch(typeOf(o)){case"object":a.text=s;a.icon="object.png";var l=e.appendChild(a);var u=r+i+"{";var p=r+"}";for(h in o){c+=this.parseJsonObject(d,l,h,h,o[h],false)}c=u+"\n"+c.substring(0,c.length-2)+"\n"+p+",\n";break;case"array":a.text=s;a.icon="array.png";var l=e.appendChild(a);var u=r+i+"[";var p=r+"]";o.each(function(t,e){c+=this.parseJsonObject(d,l,"","["+e+"]",t,false)}.bind(this));c=u+"\n"+c.substring(0,c.length-2)+"\n"+p+",\n";break;case"string":c+=r+i+'"'+o+'",\n';a.text=s+' : "'+o+'"';a.icon="string.png";e.appendChild(a);break;case"date":c+=r+i+'"'+o+'",\n';a.text=s+' : "'+o+'"';a.icon="string.png";e.appendChild(a);break;default:c+=r+i+o+",\n";a.text=s+" : "+o;a.icon="string.png";e.appendChild(a)}return c}});
|