Module: SolidWebUi::ComponentHelper

Defined in:
app/helpers/solid_web_ui/component_helper.rb

Overview

Thin view helpers wrapping the shared Ui::* ViewComponents, so engine views read ‘swui_page(…)` instead of `render SolidWebUi::Ui::PageComponent.new(…)`. Included into each engine’s controller via ‘helper SolidWebUi::ComponentHelper`.

Instance Method Summary collapse

Instance Method Details

#swui_action_button(label:, url:, method: :post, danger: false, confirm: nil) ⇒ Object



26
27
28
29
# File 'app/helpers/solid_web_ui/component_helper.rb', line 26

def swui_action_button(label:, url:, method: :post, danger: false, confirm: nil)
  render(Ui::ActionButtonComponent.new(label: label, url: url, method: method,
                                       danger: danger, confirm: confirm))
end

#swui_page(title:, nav: [], refresh: true, &block) ⇒ Object



8
9
10
# File 'app/helpers/solid_web_ui/component_helper.rb', line 8

def swui_page(title:, nav: [], refresh: true, &block)
  render(Ui::PageComponent.new(title: title, nav: nav, refresh: refresh), &block)
end

#swui_paginator(paginator:, page_url:) ⇒ Object



35
36
37
# File 'app/helpers/solid_web_ui/component_helper.rb', line 35

def swui_paginator(paginator:, page_url:)
  render(Ui::PaginatorComponent.new(paginator: paginator, page_url: page_url))
end

#swui_refresh_controls(frame_id:, default_interval: nil, intervals: nil) ⇒ Object



12
13
14
15
16
# File 'app/helpers/solid_web_ui/component_helper.rb', line 12

def swui_refresh_controls(frame_id:, default_interval: nil, intervals: nil)
  render(Ui::RefreshControlsComponent.new(frame_id: frame_id,
                                          default_interval: default_interval,
                                          intervals: intervals))
end

#swui_stat_card(label:, value:, tone: :neutral, href: nil) ⇒ Object



18
19
20
# File 'app/helpers/solid_web_ui/component_helper.rb', line 18

def swui_stat_card(label:, value:, tone: :neutral, href: nil)
  render(Ui::StatCardComponent.new(label: label, value: value, tone: tone, href: href))
end

#swui_status_badge(label:, status: nil) ⇒ Object



22
23
24
# File 'app/helpers/solid_web_ui/component_helper.rb', line 22

def swui_status_badge(label:, status: nil)
  render(Ui::StatusBadgeComponent.new(label: label, status: status))
end

#swui_table(headers:, empty_message: "Nothing to show.", &block) ⇒ Object



31
32
33
# File 'app/helpers/solid_web_ui/component_helper.rb', line 31

def swui_table(headers:, empty_message: "Nothing to show.", &block)
  render(Ui::TableComponent.new(headers: headers, empty_message: empty_message), &block)
end