Method: Kiss::Form::Column#component_table_row_html

Defined in:
lib/kiss/form.rb

#component_table_row_html(field) ⇒ Object

Renders HTML for specified form field.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/kiss/form.rb', line 47

def component_table_row_html(field)
  field = fields[field.to_s] if (field.is_a?(Symbol) || field.is_a?(String))
  return field.element_html if field.is_a?(HiddenField)

  type = field.class.type
  prompt = field.prompt
  label = field.label
  errors = field.errors_html
  required = field.required ? %Q(<span class="kiss_form_required">#{@_form.mark_required}</span> ) : ''

  parts = [
	  prompt ? %Q(<tr class="kiss_form_prompt"><td class="kiss_form_label">#{required}</td><td>#{prompt.to_s}</td></tr>) : '',
    %Q(<tr class="kiss_form_#{type}"><td class="kiss_form_label#{errors ? ' error' : ''}">),
    !prompt ? (required + (label.blank? ? '' : label.to_s + ':' )) : '',
	  %Q(</td><td class="kiss_form_#{type}">),
		field.element_html, "</td></tr>"
	]
	if errors
	  parts += [
  	  '<tr class="kiss_form_error_row"><td class="kiss_form_required"></td><td>',
  	  errors,
  	  '</td></tr>'
  	]
	end
	parts.join
end