Get.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. MWF.xApplication.ScriptEditor.statement = MWF.xApplication.ScriptEditor.statement || {};
  2. MWF.xApplication.ScriptEditor.statement.form = MWF.xApplication.ScriptEditor.statement.form || {};
  3. MWF.xDesktop.requireApp("ScriptEditor", "statement.$Statement", null, false);
  4. MWF.xApplication.ScriptEditor.statement.form.Get = new Class({
  5. Extends: MWF.xApplication.ScriptEditor.statement.$Statement,
  6. Implements: [Options, Events],
  7. parseNodes: function(){
  8. this.contentNode = this.node.getFirst();
  9. this.inputNode = this.node.getElement("input");
  10. this.inputAreaNode = this.inputNode.getParent();
  11. this.downLinkStatementNode = new Element("div", {"styles": this.css.linkStatementNode_down}).inject(this.node);
  12. this.upLinkStatementNode = new Element("div", {"styles": this.css.linkStatementNode_up}).inject(this.node, "top");
  13. this.downLink = new MWF.xApplication.ScriptEditor.statement.Link(this, "down", this.downLinkStatementNode);
  14. this.upLink = new MWF.xApplication.ScriptEditor.statement.Link(this, "up", this.upLinkStatementNode);
  15. this.links.push(this.upLink);
  16. this.links.push(this.downLink);
  17. this.topLink = this.upLink;
  18. this.bottomLink = this.downLink;
  19. },
  20. buildStatement: function(){
  21. this.setInputNode();
  22. },
  23. setInputNode: function(){
  24. this.inputNode.set("readonly", false);
  25. this.inputNode.setStyle("max-width", "none");
  26. this.inputNode.addEvents({
  27. "mousedown": function(e){
  28. this.inputNode.focus();
  29. e.stopPropagation();
  30. }.bind(this),
  31. "keyup": function(e){
  32. var width = MWF.getTextSize(this.inputNode.get("value"), {"font-size": "12px"}).x;
  33. this.inputNode.setStyle("width", ""+width+"px");
  34. e.stopPropagation();
  35. }.bind(this)
  36. });
  37. },
  38. reportLinks: function(){
  39. this.area.links.include(this.downLink.rePosition());
  40. this.area.links.include(this.upLink.rePosition());
  41. },
  42. setLinkStyle: function(){
  43. }
  44. });