Sha256: f09a387e8d0be5d7c78cd1e6dda1b2b10d49eefdc66d323aebd7f3e76267c114

Contents?: true

Size: 1.59 KB

Versions: 17

Compression:

Stored size: 1.59 KB

Contents

#
# Basic RightRails feature helpers container
#
module RightRails::Helpers::Basic
  
  #
  # Automatically generates the javascript include tags
  #
  # USAGE:
  #   <%= rightjs_scripts %>
  #
  # you can also predefine the list of modules to load
  #
  #   <%= rightjs_scripts 'lightbox', 'calendar' %>
  #
  def rightjs_scripts(*modules)
    options = modules.last.is_a?(Hash) ? modules.pop : nil
    
    rightjs_require_module *modules
    
    scripts = RightRails::Helpers.required_js_files(self)
    scripts << options unless options.nil?
    
    javascript_include_tag *scripts
  end
  
  #
  # The javascript generator access from the templates
  #
  # USAGE:
  #   Might be used both directly or with a block
  #
  #   <%= link_to 'Delete', '#', :onclick => rjs[@record].hide('fade') %>
  #   <%= link_to 'Delete', '#', :onclick => rjs{|page| page[@record].hide('fade') }
  #
  def rjs(&block)
    generator = RightRails::JavaScriptGenerator.new(self)
    yield(generator) if block_given?
    generator
  end
  
  #
  # Same as the rjs method, but will wrap the generatated code
  # in a <script></script> tag
  #
  # EXAMPLE:
  #   <%= rjs_tag do |page|
  #     page.alert 'boo'
  #   end %>
  #
  def rjs_tag(&block)
    javascript_tag rjs(&block).to_s
  end
  
  #
  # Replacing the prototype's javascript generator with our own javascript generator
  # so that the #link_to_function method was working properly
  #
  def update_page(&block)
    rjs(&block).to_s
  end
  
  #
  # Requires the RightJS modules
  #
  def rightjs_require_module(*list)
    RightRails::Helpers.require_js_module self, *list
  end
  
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
right-rails-1.3.2 lib/right_rails/helpers/basic.rb
right-rails-1.3.1 lib/right_rails/helpers/basic.rb
right-rails-1.3.0 lib/right_rails/helpers/basic.rb
right-rails-1.2.2 lib/right_rails/helpers/basic.rb
right-rails-1.2.1 lib/right_rails/helpers/basic.rb
right-rails-1.2.0 lib/right_rails/helpers/basic.rb
right-rails-1.1.0 lib/right_rails/helpers/basic.rb
right-rails-1.0.12 lib/right_rails/helpers/basic.rb
right-rails-1.0.10 lib/right_rails/helpers/basic.rb
right-rails-1.0.9 lib/right_rails/helpers/basic.rb
right-rails-1.0.8 lib/right_rails/helpers/basic.rb
right-rails-1.0.6 lib/right_rails/helpers/basic.rb
right-rails-1.0.5 lib/right_rails/helpers/basic.rb
right-rails-1.0.3 lib/right_rails/helpers/basic.rb
right-rails-1.0.2 lib/right_rails/helpers/basic.rb
right-rails-1.0.1 lib/right_rails/helpers/basic.rb
right-rails-1.0.0 lib/right_rails/helpers/basic.rb