Class: HtmlGrid::Label
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- HtmlGrid::Label
- Includes:
- Enumerable
- Defined in:
- lib/htmlgrid/label.rb
Instance Method Summary collapse
- #each {|_self| ... } ⇒ Object
-
#initialize(component, session, label_key = nil) ⇒ Label
constructor
A new instance of Label.
- #to_html(context) ⇒ Object
Constructor Details
#initialize(component, session, label_key = nil) ⇒ Label
Returns a new instance of Label.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/htmlgrid/label.rb', line 46 def initialize(component, session, label_key=nil) @component = component @attributes = {} @session = session @lookandfeel = session.lookandfeel @label_key = label_key if(@component.respond_to? :name) @attributes['for'] = @component.name.to_s @label_key ||= @component.name end if(@component.respond_to?(:data_origin) \ && (origin = @component.data_origin)) @attributes.store('title', origin.to_s) end if(@session.error(@label_key) \ || (@component.respond_to?(:name) && @session.error(@component.name))) @attributes["class"] = "error" end if(@component.respond_to?(:attributes) \ && (id = @component.attributes['id'])) @attributes.store('id', "label_#{id}") end super(component) end |
Instance Method Details
#each {|_self| ... } ⇒ Object
70 71 72 73 |
# File 'lib/htmlgrid/label.rb', line 70 def each yield self if(@component.respond_to?(:label?) && @component.label?) yield @component end |
#to_html(context) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/htmlgrid/label.rb', line 74 def to_html(context) key = @label_key label = @lookandfeel.lookup(key) if !label && @component.respond_to?(:name) key = @component.name label = @lookandfeel.lookup(key) end state = @session.state if label && state.respond_to?(:mandatory?) && state.mandatory?(key) label += '*' end if label context.label(@attributes) { label } end end |