Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Ensure that :confirm doesn't need extra quotes when using drop_receiv…

…ing_element. Closes #8299 [thechrisoshow]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8879 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 86cb0a61fb8e07388fdc026530ce113e93f5272d 1 parent 4ff26f5
@NZKoz NZKoz authored
View
3  actionpack/lib/action_view/helpers/scriptaculous_helper.rb
@@ -192,6 +192,9 @@ def drop_receiving_element_js(element_id, options = {}) #:nodoc:
options[:accept] = array_or_string_for_javascript(options[:accept]) if options[:accept]
options[:hoverclass] = "'#{options[:hoverclass]}'" if options[:hoverclass]
+ # Confirmation happens during the onDrop callback, so it can be removed from the options
+ options.delete(:confirm) if options[:confirm]
+
%(Droppables.add(#{element_id.to_json}, #{options_for_javascript(options)});)
end
end
View
4 actionpack/test/template/scriptaculous_helper_test.rb
@@ -88,8 +88,10 @@ def test_drop_receiving_element
drop_receiving_element("droptarget1", :accept => 'products', :update => 'infobox')
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:['tshirts','mugs'], onDrop:function(element){new Ajax.Updater('infobox', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
drop_receiving_element("droptarget1", :accept => ['tshirts','mugs'], :update => 'infobox')
- end
+ assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add("droptarget1", {hoverclass:'dropready', onDrop:function(element){if (confirm('Are you sure?')) { new Ajax.Request('http://www.example.com/update_drop', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)}); }}})\n//]]>\n</script>),
+ drop_receiving_element('droptarget1', :hoverclass=>'dropready', :url=>{:action=>'update_drop'}, :confirm => 'Are you sure?')
+ end
def protect_against_forgery?
false
end
Please sign in to comment.
Something went wrong with that request. Please try again.