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

Ticket #3530: visual_effect.patch

File visual_effect.patch, 2.2 kB (added by rails@advany.com, 3 years ago)

patch with test's

  • C:/Documents

    old new  
    2828    assert_equal "new Effect.Fade('fademe',{duration:4.0});", visual_effect(:fade, "fademe", :duration => 4.0) 
    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:{position:'end',scope:'test',limit:'2'}});", visual_effect(:drop_out, 'dropme', :queue => {:position => "end", :scope => "test", :limit => "2"}) 
    3132  end 
    3233   
    3334  def test_toggle_effects 
  • C:/Documents

    old new  
    4343      # http://script.aculo.us for more documentation. 
    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] 
    47          
     46 
     47        if js_options[:queue].is_a?(Hash) 
     48          queue = '{' + js_options[:queue].map {|k, v| "#{k}:'#{v}'"}.join(',') + '}' 
     49          js_options[:queue] = "#{queue}" 
     50        elsif js_options[:queue] 
     51          js_options[:queue] = "'#{js_options[:queue]}'" 
     52        end 
     53 
    4854        if TOGGLE_EFFECTS.include? name.to_sym 
    4955          "Effect.toggle(#{element},'#{name.to_s.gsub(/^toggle_/,'')}',#{options_for_javascript(js_options)});" 
    5056        else