MailTask.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. draw2d.MailTask=function(){
  2. draw2d.Task.call(this);
  3. this.setTitle("邮件任务");
  4. this.setIcon();
  5. };
  6. draw2d.MailTask.prototype=new draw2d.Task();
  7. draw2d.MailTask.prototype.type="draw2d.MailTask";
  8. draw2d.MailTask.newInstance=function(mailTaskXMLNode){
  9. var task = new draw2d.MailTask();
  10. task.id=mailTaskXMLNode.attr('id');
  11. task.taskId=mailTaskXMLNode.attr('id');
  12. return task;
  13. };
  14. draw2d.MailTask.prototype.setWorkflow=function(_5019){
  15. draw2d.Task.prototype.setWorkflow.call(this,_5019);
  16. };
  17. draw2d.MailTask.prototype.getContextMenu=function(){
  18. var menu = draw2d.Task.prototype.getContextMenu.call(this);
  19. return menu;
  20. };
  21. draw2d.MailTask.prototype.setIcon = function(){
  22. var icon=draw2d.Task.prototype.setIcon.call(this);
  23. icon.className="mail-task-icon";
  24. };
  25. draw2d.MailTask.prototype.getStartElementXML=function(){
  26. var xml='<serviceTask id="'+this.taskId+'" activiti:type="mail">\n';
  27. xml=xml+'<extensionElements>\n';
  28. xml=xml+'<activiti:field name="to" expression="'+this.toEmail+'" />\n';
  29. if(this.fromEmail!=null&&this.fromEmail!=''){
  30. xml=xml+'<activiti:field name="from" expression="'+this.fromEmail+'" />\n';
  31. }
  32. if(this.subjectEmail!=null&&this.subjectEmail!=''){
  33. xml=xml+'<activiti:field name="subject" expression="'+this.subjectEmail+'" />\n';
  34. }
  35. if(this.ccEmail!=null&&this.ccEmail!=''){
  36. xml=xml+'<activiti:field name="cc" expression="'+this.ccEmail+'" />\n';
  37. }
  38. if(this.bccEmail!=null&&this.bccEmail!=''){
  39. xml=xml+'<activiti:field name="bcc" expression="'+this.bccEmail+'" />\n';
  40. }
  41. var charset=this.charsetEmail;
  42. if(charset==null||charset==''){
  43. charset='UTF8';
  44. }
  45. if(this.charsetEmail!=null&&this.charsetEmail!=''){
  46. xml=xml+'<activiti:field name="charset" expression="'+charset+'" />\n';
  47. }
  48. if(this.htmlEmail!=null&&this.htmlEmail!=''){
  49. xml=xml+'<activiti:field name="html" >\n';
  50. xml=xml+'<activiti:expression>\n';
  51. xml=xml+'<![CDATA['+this.htmlEmail;
  52. xml=xml+']]>\n';
  53. xml=xml+'</activiti:expression>\n';
  54. xml=xml+'</activiti:field>\n';
  55. }
  56. if(this.textEmail!=null&&this.textEmail!=''){
  57. xml=xml+'<activiti:field name="text" >\n';
  58. xml=xml+'<activiti:expression>\n';
  59. xml=xml+'<![CDATA['+this.textEmail;
  60. xml=xml+']]>\n';
  61. xml=xml+'</activiti:expression>\n';
  62. xml=xml+'</activiti:field>\n';
  63. }
  64. xml=xml+'</extensionElements>\n';
  65. return xml;
  66. };
  67. draw2d.MailTask.prototype.getEndElementXML=function(){
  68. var xml = '</serviceTask>\n';
  69. return xml;
  70. };
  71. draw2d.MailTask.prototype.figureDoubleClick=function(){
  72. var data = {event:this};
  73. var event = data.event;
  74. var tid = event.getId();
  75. openProperties(tid,'mailTaskProperties');
  76. };
  77. draw2d.MailTask.prototype.getContextMenu=function(){
  78. if(this.workflow.disabled)return null;
  79. var menu =new draw2d.ContextMenu(100, 50);
  80. var data = {task:this};
  81. menu.appendMenuItem(new draw2d.ContextMenuItem("属性", "properties-icon",data,function(x,y)
  82. {
  83. var data = this.getData();
  84. var task = data.task;
  85. var tid = task.getId();
  86. if(typeof openProperties != "undefined"){
  87. openProperties(tid,'mailTaskProperties');
  88. }
  89. }));
  90. menu.appendMenuItem(new draw2d.ContextMenuItem("删除", "icon-remove",data,function(x,y)
  91. {
  92. var data = this.getData();
  93. var task = data.task;
  94. var tid = task.getId();
  95. var wf = task.getWorkflow();
  96. wf.getCommandStack().execute(new draw2d.CommandDelete(task));
  97. }));
  98. return menu;
  99. };
  100. draw2d.MailTask.prototype.toXML=function(){
  101. var xml=this.getStartElementXML();
  102. xml=xml+this.getEndElementXML();
  103. return xml;
  104. };
  105. draw2d.MailTask.prototype.toBpmnDI=function(){
  106. var w=this.getWidth();
  107. var h=this.getHeight();
  108. var x=this.getAbsoluteX();
  109. var y=this.getAbsoluteY();
  110. var xml='<bpmndi:BPMNShape bpmnElement="'+this.taskId+'" id="BPMNShape_'+this.taskId+'">\n';
  111. xml=xml+'<omgdc:Bounds height="'+h+'" width="'+w+'" x="'+x+'" y="'+y+'"/>\n';
  112. xml=xml+'</bpmndi:BPMNShape>\n';
  113. return xml;
  114. };