Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 3687

Show
Ignore:
Timestamp:
02/27/06 10:37:59 (3 years ago)
Author:
madrobby
Message:

Added support for visual effects scoped queues to the visual_effect helper #3530 [Abdur-Rahman Advany]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/CHANGELOG

    r3669 r3687  
    11*SVN* 
     2 
     3* Added support for visual effects scoped queues to the visual_effect helper #3530 [Abdur-Rahman Advany] 
    24 
    35* Added .rxml (and any non-rhtml template, really) supportfor CaptureHelper#content_for and CaptureHelper#capture #3287 [Brian Takita] 
  • trunk/actionpack/lib/action_view/helpers/scriptaculous_helper.rb

    r3667 r3687  
    4444      def visual_effect(name, element_id = false, js_options = {}) 
    4545        element = element_id ? "'#{element_id}'" : "element" 
    46         js_options[:queue] = "'#{js_options[:queue]}'" if js_options[:queue] 
     46         
     47        js_options[:queue] = if js_options[:queue].is_a?(Hash) 
     48          '{' + js_options[:queue].map {|k, v| k == :limit ? "#{k}:#{v}" : "#{k}:'#{v}'" }.join(',') + '}' 
     49        elsif js_options[:queue] 
     50          "'#{js_options[:queue]}'" 
     51        end if js_options[:queue] 
    4752         
    4853        if TOGGLE_EFFECTS.include? name.to_sym 
  • trunk/actionpack/test/template/scriptaculous_helper_test.rb

    r3476 r3687  
    2929    assert_equal "new Effect.Shake(element,{});", visual_effect(:shake) 
    3030    assert_equal "new Effect.DropOut('dropme',{queue:'end'});", visual_effect(:drop_out, 'dropme', :queue => :end) 
     31    assert_equal "new Effect.DropOut('dropme',{queue:{scope:'test',limit:2,position:'end'}});",  
     32      visual_effect(:drop_out, 'dropme', :queue => {:position => "end", :scope => "test", :limit => 2}) 
     33    assert_equal "new Effect.DropOut('dropme',{queue:{scope:'list',limit:2}});",  
     34      visual_effect(:drop_out, 'dropme', :queue => {:scope => :list, :limit => 2}) 
     35    assert_equal "new Effect.DropOut('dropme',{queue:{scope:'test',limit:2,position:'end'}});",  
     36      visual_effect(:drop_out, 'dropme', :queue => {:position => :end, :scope => :test, :limit => 2}) 
    3137  end 
    3238