Class: PhlexKit::Message
- Inherits:
-
BaseComponent
- Object
- Phlex::HTML
- BaseComponent
- PhlexKit::Message
- Defined in:
- app/components/phlex_kit/message/message.rb
Overview
Chat message row (avatar + content), ported from ruby_ui's RubyUI::Message. align: :end reverses the row. Compose Message > MessageContent (+ Avatar/ Header/Footer); group several in a MessageGroup.
Constant Summary collapse
- ALIGNS =
%i[start end].freeze
Instance Method Summary collapse
-
#initialize(align: :start, **attrs) ⇒ Message
constructor
A new instance of Message.
- #view_template ⇒ Object
Methods inherited from BaseComponent
Constructor Details
#initialize(align: :start, **attrs) ⇒ Message
Returns a new instance of Message.
8 9 10 11 12 13 14 |
# File 'app/components/phlex_kit/message/message.rb', line 8 def initialize(align: :start, **attrs) @align = align.to_sym # Fail loud like sibling Bubble: message.css only styles data-align="end", # so an unknown value silently rendered a start-aligned row. raise KeyError, "unknown Message align #{@align}" unless ALIGNS.include?(@align) @attrs = attrs end |
Instance Method Details
#view_template ⇒ Object
15 16 17 |
# File 'app/components/phlex_kit/message/message.rb', line 15 def view_template(&) div(**mix({ class: "pk-message", data: { slot: "message", align: @align } }, @attrs), &) end |