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
- #swui_action_button(label:, url:, method: :post, danger: false, confirm: nil) ⇒ Object
- #swui_page(title:, nav: [], refresh: true, &block) ⇒ Object
- #swui_paginator(paginator:, page_url:) ⇒ Object
- #swui_refresh_controls(frame_id:, default_interval: nil, intervals: nil) ⇒ Object
- #swui_stat_card(label:, value:, tone: :neutral, href: nil) ⇒ Object
- #swui_status_badge(label:, status: nil) ⇒ Object
- #swui_table(headers:, empty_message: "Nothing to show.", &block) ⇒ Object
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 (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: ), &block) end |