| Class | Merb::Helpers::Form::Builder::Form |
| In: |
merb-helpers/lib/merb-helpers/form/builder.rb
|
| Parent: | Base |
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 363
363: def button(contents, attrs = {})
364: unbound_label(attrs) + super
365: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 300
300: def label(contents, attrs = {})
301: if contents
302: if contents.is_a?(Hash)
303: label_attrs = contents
304: contents = label_attrs.delete(:title)
305: else
306: label_attrs = attrs
307: end
308: tag(:label, contents, label_attrs)
309: else
310: ""
311: end
312: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 367
367: def submit(value, attrs = {})
368: unbound_label(attrs) + super
369: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 340
340: def unbound_check_box(attrs = {})
341: label_text = unbound_label(attrs)
342: super + label_text
343: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 345
345: def unbound_hidden_field(attrs = {})
346: attrs.delete(:label)
347: super
348: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 323
323: def unbound_label(attrs = {})
324: if attrs[:id]
325: label_attrs = {:for => attrs[:id]}
326: elsif attrs[:name]
327: label_attrs = {:for => attrs[:name]}
328: else
329: label_attrs = {}
330: end
331:
332: label_option = attrs.delete(:label)
333: if label_option.is_a? Hash
334: label(label_attrs.merge(label_option))
335: else
336: label(label_option, label_attrs)
337: end
338: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 350
350: def unbound_radio_button(attrs = {})
351: label_text = unbound_label(attrs)
352: super + label_text
353: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 355
355: def unbound_select(attrs = {})
356: unbound_label(attrs) + super
357: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 359
359: def unbound_text_area(contents, attrs = {})
360: unbound_label(attrs) + super
361: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 388
388: def radio_group_item(method, attrs)
389: unless attrs[:id]
390: attrs.merge!(:id => "#{@name}_#{method}_#{attrs[:value]}")
391: end
392:
393: attrs.merge!(:label => attrs[:label] || attrs[:value])
394: super
395: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 373
373: def update_bound_controls(method, attrs, type)
374: attrs.merge!(:id => "#{@name}_#{method}") unless attrs[:id]
375: super
376: end
# File merb-helpers/lib/merb-helpers/form/builder.rb, line 378
378: def update_unbound_controls(attrs, type)
379: attrs.merge!(:id => attrs[:name]) if attrs[:name] && !attrs[:id]
380:
381: case type
382: when "text", "radio", "password", "hidden", "checkbox", "file"
383: add_css_class(attrs, type)
384: end
385: super
386: end