BusinessRuleTask.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. draw2d.BusinessRuleTask=function(){
  2. draw2d.Task.call(this);
  3. this.setTitle("业务规则任务");
  4. this.setIcon();
  5. };
  6. draw2d.BusinessRuleTask.prototype=new draw2d.Task();
  7. draw2d.BusinessRuleTask.prototype.type="draw2d.BusinessRuleTask";
  8. draw2d.BusinessRuleTask.newInstance=function(businessRuleTaskXMLNode){
  9. var task = new draw2d.ReceiveTask();
  10. task.id=businessRuleTaskXMLNode.attr('id');
  11. task.taskId=businessRuleTaskXMLNode.attr('id');
  12. return task;
  13. };
  14. draw2d.BusinessRuleTask.prototype.setWorkflow=function(_5019){
  15. draw2d.Task.prototype.setWorkflow.call(this,_5019);
  16. };
  17. draw2d.BusinessRuleTask.prototype.getContextMenu=function(){
  18. var menu = draw2d.Task.prototype.getContextMenu.call(this);
  19. return menu;
  20. };
  21. draw2d.BusinessRuleTask.prototype.setIcon = function(){
  22. var icon=draw2d.Task.prototype.setIcon.call(this);
  23. icon.className="business-rule-task-icon";
  24. };
  25. draw2d.BusinessRuleTask.prototype.getStartElementXML=function(){
  26. var name = this.taskId;
  27. var xml='<businessRuleTask id="'+this.taskId+'" activiti:ruleVariablesInput="'+this.rulesInput+'" activiti:resultVariables="'+this.rulesOutputs+'"';
  28. if(this.isclude=='include'){
  29. xml=xml+' activiti:rules="'+this.rules+'"';
  30. }else if(this.isclude=='exclude'){
  31. xml=xml+' activiti:rules="'+this.rules+'" exclude="true"';
  32. }
  33. xml=xml+'>\n';
  34. return xml;
  35. };
  36. draw2d.BusinessRuleTask.prototype.getEndElementXML=function(){
  37. var xml = '</businessRuleTask>\n';
  38. return xml;
  39. };
  40. draw2d.BusinessRuleTask.prototype.figureDoubleClick=function(){
  41. var data = {event:this};
  42. var event = data.event;
  43. var tid = event.getId();
  44. openProperties(tid,'businessRuleTaskProperties');
  45. };
  46. draw2d.BusinessRuleTask.prototype.getContextMenu=function(){
  47. if(this.workflow.disabled)return null;
  48. var menu =new draw2d.ContextMenu(100, 50);
  49. var data = {task:this};
  50. menu.appendMenuItem(new draw2d.ContextMenuItem("属性", "properties-icon",data,function(x,y)
  51. {
  52. var data = this.getData();
  53. var task = data.task;
  54. var tid = task.getId();
  55. if(typeof openBusinessRuleTaskProperties != "undefined"){
  56. openProperties(tid,'businessRuleTaskProperties');
  57. }
  58. }));
  59. menu.appendMenuItem(new draw2d.ContextMenuItem("删除", "icon-remove",data,function(x,y)
  60. {
  61. var data = this.getData();
  62. var task = data.task;
  63. var tid = task.getId();
  64. var wf = task.getWorkflow();
  65. wf.getCommandStack().execute(new draw2d.CommandDelete(task));
  66. }));
  67. return menu;
  68. };
  69. draw2d.BusinessRuleTask.prototype.toXML=function(){
  70. var xml=this.getStartElementXML();
  71. xml=xml+this.getEndElementXML();
  72. return xml;
  73. };
  74. draw2d.BusinessRuleTask.prototype.toBpmnDI=function(){
  75. var w=this.getWidth();
  76. var h=this.getHeight();
  77. var x=this.getAbsoluteX();
  78. var y=this.getAbsoluteY();
  79. var xml='<bpmndi:BPMNShape bpmnElement="'+this.taskId+'" id="BPMNShape_'+this.taskId+'">\n';
  80. xml=xml+'<omgdc:Bounds height="'+h+'" width="'+w+'" x="'+x+'" y="'+y+'"/>\n';
  81. xml=xml+'</bpmndi:BPMNShape>\n';
  82. return xml;
  83. };