Class: SolidusAdmin::ShippingMethods::Index::Component
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- SolidusAdmin::ShippingMethods::Index::Component
- Includes:
- Layout::PageHelpers
- Defined in:
- app/components/solidus_admin/shipping_methods/index/component.rb
Instance Method Summary collapse
- #batch_actions ⇒ Object
- #columns ⇒ Object
- #filters ⇒ Object
-
#initialize(page:) ⇒ Component
constructor
A new instance of Component.
- #next_page_path ⇒ Object
- #prev_page_path ⇒ Object
- #scopes ⇒ Object
- #title ⇒ Object
Constructor Details
#initialize(page:) ⇒ Component
Returns a new instance of Component.
6 7 8 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 6 def initialize(page:) @page = page end |
Instance Method Details
#batch_actions ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 22 def batch_actions [ { display_name: t('.batch_actions.delete'), action: solidus_admin.shipping_methods_path, method: :delete, icon: 'delete-bin-7-line', }, ] end |
#columns ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 41 def columns [ { header: :name, data: -> { [_1.admin_name.presence, _1.name].compact.join(' / ') }, }, { header: :zone, data: -> { _1.zones.pluck(:name).to_sentence }, }, { header: :calculator, data: -> { _1.calculator&.description }, }, { header: :available_to_users, data: -> { _1.available_to_users? ? component('ui/badge').yes : component('ui/badge').no }, }, ] end |
#filters ⇒ Object
37 38 39 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 37 def filters [] end |
#next_page_path ⇒ Object
18 19 20 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 18 def next_page_path solidus_admin.url_for(**request.params, page: @page.next_param, only_path: true) unless @page.last? end |
#prev_page_path ⇒ Object
14 15 16 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 14 def prev_page_path solidus_admin.url_for(**request.params, page: @page.number - 1, only_path: true) unless @page.first? end |
#scopes ⇒ Object
33 34 35 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 33 def scopes [] end |
#title ⇒ Object
10 11 12 |
# File 'app/components/solidus_admin/shipping_methods/index/component.rb', line 10 def title Spree::ShippingMethod.model_name.human.pluralize end |