noelrappin / tank-engine

A new plugin for creating Rails applications targeted for iPhones. A successor to rails_iui

This URL has Read+Write access

noelrappin (author)
Tue Dec 09 12:05:14 -0800 2008
commit  cd20398221e5405bedae18a35592bb1a95a97d56
tree    e4d860373e3f99852ef31f0be53780c3bbe97ed7
parent  478057ca67deed3f35fdbb7b2f6e6777448b109c
tank-engine / lib / tank_engine_form_builder_extensions.rb
100644 31 lines (27 sloc) 1.05 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
module ActionView
  module Helpers
    module FormHelper
      def toggle(object_name, method, options = {})
        obj = instance_variable_get("@#{object_name}")
        value = if obj.send(method) then "ON" else "OFF" end
        hidden = hidden_field_tag("#{object_name}[#{method}]", value,
            :id => "#{object_name}_#{method}")
        thumb = content_tag(:span, "", :class => "thumb")
        on = content_tag(:span, "ON", :class => "toggleOn")
        off = content_tag(:span, "OFF", :class => "toggleOff")
        toggle = content_tag(:div, thumb + on + off,
            :toggled => (if obj.send(method) then true else false end),
            :value => value,
            :class => "toggle",
            :id => "#{object_name}_#{method}_toggle")
        row = content_tag(:div, toggle, :class => "row")
        hidden + row
      end
    end
    
    class FormBuilder
        
      def toggle(method, options = {})
        @template.toggle(@object_name, method, objectify_options(options))
      end
      
    end
    
  end
end