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

Changeset 3801

Show
Ignore:
Timestamp:
03/06/06 19:45:02 (3 years ago)
Author:
david
Message:

Allow method chaining in RJS elements [Rick Olson]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/lib/action_view/helpers/javascripts/dragdrop.js

    r3634 r3801  
    559559    if(!element.hasChildNodes()) return null; 
    560560    var elements = []; 
     561    var only = options.only ? [options.only].flatten() : null; 
    561562    $A(element.childNodes).each( function(e) { 
    562563      if(e.tagName && e.tagName.toUpperCase()==options.tag.toUpperCase() && 
    563         (!options.only || (Element.hasClassName(e, options.only)))) 
     564        (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) 
    564565          elements.push(e); 
    565566      if(options.tree) { 
  • trunk/actionpack/lib/action_view/helpers/javascripts/effects.js

    r3757 r3801  
    919919  }}, arguments[1] || {})); 
    920920} 
     921 
     922if(Element.Methods) { 
     923  Element.Methods.visualEffect = function(element, effect, options) { 
     924    s = effect.gsub(/_/, '-').camelize(); 
     925    effect_class = s.charAt(0).toUpperCase() + s.substring(1); 
     926    new Effect[effect_class](element, options); 
     927    return $(element); 
     928  } 
     929} 
  • trunk/actionpack/Rakefile

    r3757 r3801  
    117117task :update_scriptaculous do 
    118118  for js in %w( controls dragdrop effects ) 
    119     system("svn export --force http://dev.rubyonrails.org/svn/rails/spinoffs/scriptaculous/src/#{js} #{File.dirname(__FILE__)}/lib/action_view/helpers/javascripts/") 
     119    system("svn export --force http://dev.rubyonrails.org/svn/rails/spinoffs/scriptaculous/src/#{js}.js #{File.dirname(__FILE__)}/lib/action_view/helpers/javascripts/#{js}.js") 
    120120  end 
    121121end 
  • trunk/railties/html/javascripts/effects.js

    r3757 r3801  
    919919  }}, arguments[1] || {})); 
    920920} 
     921 
     922if(Element.Methods) { 
     923  Element.Methods.visualEffect = function(element, effect, options) { 
     924    s = effect.gsub(/_/, '-').camelize(); 
     925    effect_class = s.charAt(0).toUpperCase() + s.substring(1); 
     926    new Effect[effect_class](element, options); 
     927    return $(element); 
     928  } 
     929}