Merge pull request #761 from justinsg/master
[dygraphs.git] / common / textarea.js
index d0e1c31..ec79e0d 100644 (file)
@@ -101,12 +101,26 @@ TextArea.prototype.show = function(title, content) {
   this.textarea.style.height = (-18 + sums([this.elem], [this.title, this.buttons], "offsetHeight")) + "px";
   this.textarea.style.width = (-16 + sums([this.elem], [ ], "offsetWidth")) + "px";
 
+  var textarea = this;
+
+  this.keyDownListener_ = function(event) {
+    if(event.keyCode == 13) { // enter / return
+      textarea.hide();
+    }
+    if(event.keyCode == 27) { // esc
+      textarea.hide();
+    }
+  }
+
+  document.addEventListener("keydown", this.keyDownListener_);
   this.reposition();
   window.addEventListener('resize', this.reposition, false);
   document.documentElement.addEventListener('onscroll', this.reposition);
 }
 
 TextArea.prototype.hide = function() {
+  document.removeEventListener('keypress', this.keyDownListener_);
+  this.keyDownListener_ = null;
   this.elem.style.display = "none";
   this.background.style.display = "none";
   window.removeEventListener("resize", this.reposition);