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
base_template_path, compile!, extended, renders_templates, template_root_path
Methods included from ClassNameHelper
Class Method Details
.inherited(base) ⇒ Object
10 11 12 13 14 15 |
# File 'app/lib/primer/forms/base_component.rb', line 10 def self.inherited(base) base.renders_template( File.join("%{base_template_path}", "#{base.name.demodulize.underscore}.html.erb"), :render_template ) end |
Instance Method Details
#content ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'app/lib/primer/forms/base_component.rb', line 26 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:
41 42 43 |
# File 'app/lib/primer/forms/base_component.rb', line 41 def input? false end |
#perform_render(&block) ⇒ Object
19 20 21 22 23 24 |
# File 'app/lib/primer/forms/base_component.rb', line 19 def perform_render(&block) return "" unless render? @__prf_content_block = block compile_and_render_template end |
#render? ⇒ Boolean
49 50 51 |
# File 'app/lib/primer/forms/base_component.rb', line 49 def render? true end |
#to_component ⇒ Object
45 46 47 |
# File 'app/lib/primer/forms/base_component.rb', line 45 def to_component self end |
#type ⇒ Object
:nocov:
36 37 38 |
# File 'app/lib/primer/forms/base_component.rb', line 36 def type :component end |