Module: Apotomo::Rails::ViewHelper

Defined in:
lib/apotomo/rails/view_helper.rb

Overview

#url_for_event

= url_for_event(:paginate, :page => 2)
#=> http://apotomo.de/mouse/process_event_request?type=paginate&source=mouse&page=2

#widget_id

= widget_id
#=> :mouse

#children

- children.each do |kid|
  = render_widget kid

Instance Method Summary collapse

Instance Method Details

#js_generatorObject

Returns the app JavaScript generator.



21
22
23
# File 'lib/apotomo/rails/view_helper.rb', line 21

def js_generator
  Apotomo.js_generator
end

#multipart_form_to_event(type, options = {}, html_options = {}, &block) ⇒ Object

Creates a form that submits itself via an iFrame and executes the response in the parent window. This is needed to upload files via AJAX.

Better call #form_to_event :multipart => true and stay forward-compatible.



29
30
31
32
33
34
35
# File 'lib/apotomo/rails/view_helper.rb', line 29

def multipart_form_to_event(type, options={}, html_options={}, &block)
  options.reverse_merge!      :apotomo_iframe => true
  html_options.reverse_merge! :target         => :apotomo_iframe, :multipart => true
  
  # i hate rails:
  concat('<iframe id="apotomo_iframe" name="apotomo_iframe" style="display: none;"></iframe>'.html_safe) << form_tag(url_for_event(type, options), html_options, &block)
end

#widget_div(options = {}, &block) ⇒ Object

Wraps your content in a div and sets the id. Feel free to pass additional html options.

Example:

- widget_div do
  %p I'm wrapped

will render

<div id="mouse">
  <p>I'm wrapped</p>
</div>


49
50
51
52
# File 'lib/apotomo/rails/view_helper.rb', line 49

def widget_div(options={}, &block)
  options.reverse_merge!(:id => widget_id) 
  (:div, options, &block)
end