diff options
author | Thomas Fuchs <thomas@fesch.at> | 2005-12-25 18:23:25 +0000 |
---|---|---|
committer | Thomas Fuchs <thomas@fesch.at> | 2005-12-25 18:23:25 +0000 |
commit | 1455697ee85b3ad151213e48838e916c3cf96b0c (patch) | |
tree | 7f13f58a140121c8f3d83b0672161399d1315af4 /railties/html/javascripts/controls.js | |
parent | cfb0babec348a5543ae4c4a8c2c5e4438644429e (diff) | |
download | rails-1455697ee85b3ad151213e48838e916c3cf96b0c.tar.gz rails-1455697ee85b3ad151213e48838e916c3cf96b0c.tar.bz2 rails-1455697ee85b3ad151213e48838e916c3cf96b0c.zip |
Update to script.aculo.us to 1.5.0 rev. 3343
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3349 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/html/javascripts/controls.js')
-rw-r--r-- | railties/html/javascripts/controls.js | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/railties/html/javascripts/controls.js b/railties/html/javascripts/controls.js index a8e7ec7452..3307f2e2fa 100644 --- a/railties/html/javascripts/controls.js +++ b/railties/html/javascripts/controls.js @@ -221,14 +221,13 @@ Autocompleter.Base.prototype = { this.options.updateElement(selectedElement); return; } - var value = ''; if (this.options.select) { var nodes = document.getElementsByClassName(this.options.select, selectedElement) || []; if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select); } else value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal'); - + var lastTokenPos = this.findLastToken(); if (lastTokenPos != -1) { var newValue = this.element.value.substr(0, lastTokenPos + 1); @@ -454,7 +453,9 @@ Ajax.InPlaceEditor.prototype = { this.element = $(element); this.options = Object.extend({ + okButton: true, okText: "ok", + cancelLink: true, cancelText: "cancel", savingText: "Saving...", clickToEditText: "Click to edit", @@ -477,6 +478,7 @@ Ajax.InPlaceEditor.prototype = { highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor, highlightendcolor: "#FFFFFF", externalControl: null, + submitOnBlur: false, ajaxOptions: {} }, options || {}); @@ -542,16 +544,20 @@ Ajax.InPlaceEditor.prototype = { this.form.appendChild(br); } - okButton = document.createElement("input"); - okButton.type = "submit"; - okButton.value = this.options.okText; - this.form.appendChild(okButton); + if (this.options.okButton) { + okButton = document.createElement("input"); + okButton.type = "submit"; + okButton.value = this.options.okText; + this.form.appendChild(okButton); + } - cancelLink = document.createElement("a"); - cancelLink.href = "#"; - cancelLink.appendChild(document.createTextNode(this.options.cancelText)); - cancelLink.onclick = this.onclickCancel.bind(this); - this.form.appendChild(cancelLink); + if (this.options.cancelLink) { + cancelLink = document.createElement("a"); + cancelLink.href = "#"; + cancelLink.appendChild(document.createTextNode(this.options.cancelText)); + cancelLink.onclick = this.onclickCancel.bind(this); + this.form.appendChild(cancelLink); + } }, hasHTMLLineBreaks: function(string) { if (!this.options.handleLineBreaks) return false; @@ -567,24 +573,32 @@ Ajax.InPlaceEditor.prototype = { } else { text = this.getText(); } + + var obj = this; if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) { this.options.textarea = false; var textField = document.createElement("input"); + textField.obj = this; textField.type = "text"; textField.name = "value"; textField.value = text; textField.style.backgroundColor = this.options.highlightcolor; var size = this.options.size || this.options.cols || 0; if (size != 0) textField.size = size; + if (this.options.submitOnBlur) + textField.onblur = this.onSubmit.bind(this); this.editField = textField; } else { this.options.textarea = true; var textArea = document.createElement("textarea"); + textArea.obj = this; textArea.name = "value"; textArea.value = this.convertHTMLLineBreaks(text); textArea.rows = this.options.rows; textArea.cols = this.options.cols || 40; + if (this.options.submitOnBlur) + textArea.onblur = this.onSubmit.bind(this); this.editField = textArea; } @@ -753,4 +767,4 @@ Form.Element.DelayedObserver.prototype = { this.timer = null; this.callback(this.element, $F(this.element)); } -};
\ No newline at end of file +}; |