Module: Trenni::Formatters::HTML::DefinitionListForm

Includes:
FormFormatter
Defined in:
lib/trenni/formatters/html/definition_list_form.rb

Instance Method Summary collapse

Methods included from FormFormatter

#checkbox_attributes_for, #field_for, #hidden, #hidden_attributes_for, #input_attributes_for, #name_for, #new_record?, #object, #object_value_for, #output_attributes_for, #pattern_for, #placeholder_for, #raw_value_for, #submit_attributes_for, #textarea_attributes_for, #title_for, #value_for

Instance Method Details

#checkbox(options) ⇒ Object

A checkbox field.



74
75
76
77
78
79
80
81
82
83
84
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 74

def checkbox(options)
  options = @options.merge(options)

  Builder.fragment do |builder|
    builder.tag(:dd) do
      builder.tag :input, :type => :hidden, :name => name_for(options), :value => 'false'
      builder.tag :input, checkbox_attributes_for(options)
      builder.text " " + title_for(options)
    end
  end
end

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



99
100
101
102
103
104
105
106
107
108
109
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 99

def element(klass, options = {}, &block)
  options = @options.merge(options)
  buffer = Trenni::Template.buffer(block.binding)
  
  buffer << Builder.fragment do |builder|
    builder.inline(:dt) { builder.text title_for(options) }
    builder.tag(:dd) do
      klass.call(self, options, builder, &block)
    end
  end
end

#input(options = {}) ⇒ Object

An input field (single line text).



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 33

def input(options = {})
  options = @options.merge(options)

  Builder.fragment do |builder|
    builder.inline(:dt) { builder.text title_for(options) }

    builder.inline(:dd) do
      builder.tag :input, input_attributes_for(options)
    end
  end
end

#output(options = {}) ⇒ Object

An output field for the result of a computation.



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 46

def output(options = {})
  options = @options.merge(options)

  Builder.fragment do |builder|
    builder.inline(:dt) { builder.text title_for(options) }

    builder.inline(:dd) do
      builder.tag :output, output_attributes_for(options)
    end
  end
end

#submit(options = {}) ⇒ Object

A submission button



87
88
89
90
91
92
93
94
95
96
97
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 87

def submit(options = {})
  options = @options.merge(options)
  
  unless title = title_for(options)
    options[:title] ||= new_record? ? 'Create' : 'Update'
  end

  Builder.fragment do |builder|
    builder.tag :input, submit_attributes_for(options)
  end
end

#textarea(options = {}) ⇒ Object

A textarea field (multi-line text).



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/trenni/formatters/html/definition_list_form.rb', line 59

def textarea(options = {})
  options = @options.merge(options)

  Builder.fragment do |builder|
    builder.inline(:dt) { builder.text title_for(options) }

    builder.inline(:dd) do
      builder.tag :textarea, textarea_attributes_for(options) do
        builder.text value_for(options)
      end
    end
  end
end