1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Add :script option to in_place_editor to support evalScripts (closes #4194) [codyfauser@gmail.com]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3985 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Rick Olson 2006-03-19 19:40:11 +00:00
parent a6cfb4e0e4
commit f49ba114db
3 changed files with 11 additions and 0 deletions

View file

@ -1,5 +1,7 @@
*SVN*
* Add :script option to in_place_editor to support evalScripts (closes #4194) [codyfauser@gmail.com]
* Fix mixed case enumerable methods in the JavaScript Collection Proxy (closes #4314) [codyfauser@gmail.com]
* Undo accidental escaping for mail_to; add regression test. [Nicholas Seckar]

View file

@ -39,6 +39,7 @@ module ActionView
# <tt>:options</tt>:: Pass through options to the AJAX call (see prototype's Ajax.Updater)
# <tt>:with</tt>:: JavaScript snippet that should return what is to be sent
# in the AJAX call, +form+ is an implicit parameter
# <tt>:script</tt>:: Instructs the in-place editor to evaluate the remote JavaScript response (default: false)
def in_place_editor(field_id, options = {})
function = "new Ajax.InPlaceEditor("
function << "'#{field_id}', "
@ -54,6 +55,7 @@ module ActionView
js_options['externalControl'] = "'#{options[:external_control]}'" if options[:external_control]
js_options['loadTextURL'] = "'#{url_for(options[:load_text_url])}'" if options[:load_text_url]
js_options['ajaxOptions'] = options[:options] if options[:options]
js_options['evalScripts'] = options[:script] if options[:script]
js_options['callback'] = "function(form) { return #{options[:with]} }" if options[:with]
function << (', ' + options_for_javascript(js_options)) unless js_options.empty?

View file

@ -91,4 +91,11 @@ class JavaScriptMacrosHelperTest < Test::Unit::TestCase
:load_text_url => { :action => "action_to_get_value" })
end
def test_in_place_editor_eval_scripts
assert_match "Ajax.InPlaceEditor('id-goes-here', 'http://www.example.com/action_to_set_value', {evalScripts:true})",
in_place_editor( 'id-goes-here',
:url => { :action => "action_to_set_value" },
:script => true )
end
end