Module: CustomFormGenerator::Helpers::FormElementRenderer
- Included in:
- Generator, CustomFormGenerator::Helpers
- Defined in:
- lib/custom_form_generator/helpers/form_element_renderer.rb
Overview
FormElementRenderer module handles HTML form element generation
Instance Method Summary collapse
- #render_datetime(field, attrs) ⇒ Object
- #render_dropdown(field, attrs) ⇒ Object
- #render_radio(field, attrs) ⇒ Object
- #render_textbox(attrs) ⇒ Object
- #render_textfield(attrs) ⇒ Object
Instance Method Details
#render_datetime(field, attrs) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/custom_form_generator/helpers/form_element_renderer.rb', line 28 def render_datetime(field, attrs) disabled_attr = field["disabled"] ? "disabled" : "" " <label for='\#{attrs[:id]}'>\#{attrs[:label]}</label>\n <input type='datetime-local' id='\#{attrs[:id]}' class='\#{attrs[:css_class]}'\#{\" \"}\n name='\#{attrs[:key]}' value='\#{CGI.escapeHTML(attrs[:value])}' \#{disabled_attr} />\n HTML\nend\n" |
#render_dropdown(field, attrs) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/custom_form_generator/helpers/form_element_renderer.rb', line 18 def render_dropdown(field, attrs) = (field, attrs[:value]) " <label for='\#{attrs[:id]}'>\#{attrs[:label]}</label>\n <select id='\#{attrs[:id]}' class='\#{attrs[:css_class]}' name='\#{attrs[:key]}'>\n \#{options}\n </select>\n HTML\nend\n" |
#render_radio(field, attrs) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/custom_form_generator/helpers/form_element_renderer.rb', line 37 def render_radio(field, attrs) = (field, attrs[:value]) " <fieldset>\n <legend>\#{attrs[:label]}</legend>\n \#{options}\n </fieldset>\n HTML\nend\n" |
#render_textbox(attrs) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/custom_form_generator/helpers/form_element_renderer.rb', line 47 def render_textbox(attrs) " <label for='\#{attrs[:id]}'>\#{attrs[:label]}</label>\n <textarea id='\#{attrs[:id]}' class='\#{attrs[:css_class]}' name='\#{attrs[:key]}'\#{\" \"}\n placeholder='Enter your \#{attrs[:label]}'>\#{CGI.escapeHTML(attrs[:value])}</textarea>\n HTML\nend\n" |
#render_textfield(attrs) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/custom_form_generator/helpers/form_element_renderer.rb', line 9 def render_textfield(attrs) " <label for='\#{attrs[:id]}'>\#{attrs[:label]}</label>\n <input type='text' id='\#{attrs[:id]}' class='\#{attrs[:css_class]}'\#{\" \"}\n name='\#{attrs[:key]}' value='\#{CGI.escapeHTML(attrs[:value])}'\#{\" \"}\n placeholder='Enter your \#{attrs[:label]}'/>\n HTML\nend\n" |