Class: Tramway::TooltipComponent
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- Tramway::TooltipComponent
- Defined in:
- app/components/tramway/tooltip_component.rb
Overview
Default Tramway tooltip
Constant Summary collapse
- EVENTS =
%i[hover onclick].freeze
Instance Method Summary collapse
- #normalized_event ⇒ Object
- #tooltip_classes ⇒ Object
- #tooltip_data ⇒ Object
- #trigger_classes ⇒ Object
- #trigger_data ⇒ Object
- #wrapper_classes ⇒ Object
- #wrapper_data ⇒ Object
- #wrapper_options ⇒ Object
Instance Method Details
#normalized_event ⇒ Object
53 54 55 |
# File 'app/components/tramway/tooltip_component.rb', line 53 def normalized_event event.to_sym end |
#tooltip_classes ⇒ Object
49 50 51 |
# File 'app/components/tramway/tooltip_component.rb', line 49 def tooltip_classes (base_tooltip_classes + event_tooltip_classes).join(' ') end |
#tooltip_data ⇒ Object
43 44 45 46 47 |
# File 'app/components/tramway/tooltip_component.rb', line 43 def tooltip_data return {} unless normalized_event == :onclick { 'tramway-tooltip-target': 'panel' } end |
#trigger_classes ⇒ Object
17 18 19 20 21 22 |
# File 'app/components/tramway/tooltip_component.rb', line 17 def trigger_classes { hover: %w[peer inline-flex w-fit], onclick: %w[inline-flex w-fit cursor-pointer] }[normalized_event].join(' ') end |
#trigger_data ⇒ Object
37 38 39 40 41 |
# File 'app/components/tramway/tooltip_component.rb', line 37 def trigger_data return {} unless normalized_event == :onclick { action: 'click->tramway-tooltip#toggle' } end |
#wrapper_classes ⇒ Object
13 14 15 |
# File 'app/components/tramway/tooltip_component.rb', line 13 def wrapper_classes (base_wrapper_classes + [:class].to_s.split).compact.join(' ') end |
#wrapper_data ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'app/components/tramway/tooltip_component.rb', line 24 def wrapper_data return [:data] || {} unless normalized_event == :onclick ([:data] || {}).merge( controller: merged_controller, action: merged_action ) end |
#wrapper_options ⇒ Object
33 34 35 |
# File 'app/components/tramway/tooltip_component.rb', line 33 def .except(:class, :data).merge(data: wrapper_data) end |