ImageClipper.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. MWF.xApplication.process.FormDesigner.Module = MWF.xApplication.process.FormDesigner.Module || {};
  2. MWF.xDesktop.requireApp("process.FormDesigner", "Module.$Element", null, false);
  3. MWF.xApplication.process.FormDesigner.Module.ImageClipper = MWF.FCImageClipper = new Class({
  4. Extends: MWF.FC$Element,
  5. Implements: [Options, Events],
  6. options: {
  7. "style": "default",
  8. "propertyPath": "/x_component_process_FormDesigner/Module/ImageClipper/imageclipper.html"
  9. },
  10. initialize: function(form, options){
  11. this.setOptions(options);
  12. this.path = "/x_component_process_FormDesigner/Module/ImageClipper/";
  13. this.cssPath = "/x_component_process_FormDesigner/Module/ImageClipper/"+this.options.style+"/css.wcss";
  14. this._loadCss();
  15. this.moduleType = "element";
  16. this.moduleName = "imageclipper";
  17. this.form = form;
  18. this.container = null;
  19. this.containerNode = null;
  20. },
  21. _createNode: function(){
  22. this.node = this.moveNode.clone(true, true);
  23. this.node.setStyles(this.css.moduleNode);
  24. this.node.set("id", this.json.id);
  25. this.node.addEvent("selectstart", function(){
  26. return false;
  27. });
  28. },
  29. _createMoveNode: function(){
  30. this.moveNode = new Element("div", {
  31. "MWFType": "button",
  32. "id": this.json.id,
  33. "styles": this.css.moduleNodeMove,
  34. "events": {
  35. "selectstart": function(){
  36. return false;
  37. }
  38. }
  39. }).inject(this.form.container);
  40. //var imageNode = new Element("img", {
  41. // "src": this.json.src || this.path+this.options.style+"/icon/image1.png",
  42. // "styles": this.css.imageNode
  43. //}).inject(this.moveNode);
  44. var button = new Element("button", {
  45. "styles": this.css.buttonIcon,
  46. "text": this.json.name || this.json.id
  47. }).inject(this.moveNode);
  48. },
  49. _loadNodeStyles: function(){
  50. var button = this.node.getFirst("button");
  51. button.setStyles(this.css.buttonIcon);
  52. },
  53. unSelected: function(){
  54. this.node.setStyles({
  55. "border": "1px dashed #999"
  56. });
  57. if (this.actionArea) this.actionArea.setStyle("display", "none");
  58. this.form.currentSelectedModule = null;
  59. this.hideProperty();
  60. },
  61. unOver: function(){
  62. if (!this.form.moveModule) if (this.form.currentSelectedModule!=this) this.node.setStyles({
  63. "border": "1px dashed #999"
  64. });
  65. },
  66. _createCopyNode: function(){
  67. this.copyNode = new Element("div", {
  68. "styles": this.css.moduleNodeShow
  69. });
  70. this.copyNode.addEvent("selectstart", function(){
  71. return false;
  72. });
  73. },
  74. _getCopyNode: function(){
  75. if (!this.copyNode) this._createCopyNode();
  76. this.copyNode.setStyle("display", "inline-block");
  77. return this.copyNode;
  78. },
  79. _setEditStyle_custom: function(name){
  80. if (name=="name"){
  81. if (this.json.name){
  82. var button = this.node.getElement("button");
  83. button.set("text", this.json.name);
  84. }
  85. }
  86. if (name=="id"){
  87. if (!this.json.name){
  88. var button = this.node.getElement("button");
  89. button.set("text", this.json.id);
  90. }
  91. }
  92. },
  93. getData: function(){
  94. return this.attachmentController.getAttachmentNames();
  95. }
  96. //_setEditStyle_custom: function(name){
  97. // if (name=="name"){
  98. // if (this.json.name){
  99. // var img = this.node.getElement("img");
  100. // //button.set("text", this.json.name);
  101. // img.setStyles( this.css.imageNode );
  102. // }
  103. // }
  104. // if (name=="id"){
  105. // if (!this.json.name){
  106. // var img = this.node.getElement("img");
  107. // //button.set("text", this.json.name);
  108. // img.setStyles( this.css.imageNode );
  109. // }
  110. // }
  111. //}
  112. });