Class: Primer::Forms::BaseComponent
- Inherits:
-
Object
- Object
- Primer::Forms::BaseComponent
- Extended by:
- ActsAsComponent
- Includes:
- ClassNameHelper
- Defined in:
- app/lib/primer/forms/base_component.rb
Overview
:nodoc:
Direct Known Subclasses
ActionMenu, AutoComplete, Button, Caption, CheckBox, CheckBoxGroup, FormControl, FormReference, Group, HiddenField, Multi, PrimerBaseComponentWrapper, RadioButton, RadioButtonGroup, Select, Separator, SpacingWrapper, SubmitButton, TextArea, TextField, ToggleSwitch, ValidationMessage
Class Method Summary collapse
Instance Method Summary collapse
- #content ⇒ Object
-
#input? ⇒ Boolean
:nocov:.
- #perform_render(&block) ⇒ Object
- #render? ⇒ Boolean
- #to_component ⇒ Object
-
#type ⇒ Object
:nocov:.
Methods included from ActsAsComponent
compile!, extended, renders_templates
Methods included from ClassNameHelper
Class Method Details
.compile! ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/lib/primer/forms/base_component.rb', line 10 def self.compile! base_path = Utils.const_source_location(self.name) unless base_path warn "Could not identify the template for #{base}" return end dir = File.dirname(base_path) renders_template File.join(dir, "#{self.name.demodulize.underscore}.html.erb"), :render_template super end |
Instance Method Details
#content ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'app/lib/primer/forms/base_component.rb', line 33 def content return @__prf_content if defined?(@__prf_content_evaluated) && @__prf_content_evaluated @__prf_content_evaluated = true @__prf_content = capture do @__prf_content_block.call end end |
#input? ⇒ Boolean
:nocov:
48 49 50 |
# File 'app/lib/primer/forms/base_component.rb', line 48 def input? false end |
#perform_render(&block) ⇒ Object
26 27 28 29 30 31 |
# File 'app/lib/primer/forms/base_component.rb', line 26 def perform_render(&block) return "" unless render? @__prf_content_block = block compile_and_render_template end |
#render? ⇒ Boolean
56 57 58 |
# File 'app/lib/primer/forms/base_component.rb', line 56 def render? true end |
#to_component ⇒ Object
52 53 54 |
# File 'app/lib/primer/forms/base_component.rb', line 52 def to_component self end |
#type ⇒ Object
:nocov:
43 44 45 |
# File 'app/lib/primer/forms/base_component.rb', line 43 def type :component end |