Class: Polaris::ResourceListComponent

Inherits:
Component
  • Object
show all
Defined in:
app/components/polaris/resource_list_component.rb

Constant Summary

Constants included from ViewHelper

ViewHelper::POLARIS_HELPERS, ViewHelper::POLARIS_TEXT_STYLES

Constants included from FetchOrFallbackHelper

FetchOrFallbackHelper::InvalidValueError

Instance Method Summary collapse

Methods included from ViewHelper

#polaris_body_styles, #polaris_html_classes, #polaris_html_styles, #polaris_icon_source

Methods included from StylesListHelper

#styles_list

Methods included from OptionHelper

#append_option, #prepend_option

Methods included from FetchOrFallbackHelper

#fetch_or_fallback, #fetch_or_fallback_boolean, #fetch_or_fallback_nested

Methods included from ClassNameHelper

#class_names

Constructor Details

#initialize(items: [], resource_name: nil, total_items_count: nil, wrapper_arguments: {}, **system_arguments) ⇒ ResourceListComponent

Returns a new instance of ResourceListComponent.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/components/polaris/resource_list_component.rb', line 7

def initialize(
  items: [],
  resource_name: nil,
  total_items_count: nil,
  wrapper_arguments: {},
  **system_arguments
)
  @items = items
  @resource_name = resource_name
  @total_items_count = total_items_count

  @wrapper_arguments = wrapper_arguments
  @wrapper_arguments[:tag] = "div"
  @wrapper_arguments[:classes] = class_names(
    @wrapper_arguments[:classes],
    "Polaris-ResourceList__ResourceListWrapper"
  )

  @system_arguments = system_arguments
  @system_arguments[:tag] = "ul"
  @system_arguments[:classes] = class_names(
    @system_arguments[:classes],
    "Polaris-ResourceList"
  )
end

Instance Method Details

#countObject



43
44
45
# File 'app/components/polaris/resource_list_component.rb', line 43

def count
  "Showing #{@items.size} of #{@total_items_count} #{resource_string}"
end

#header_titleObject



33
34
35
# File 'app/components/polaris/resource_list_component.rb', line 33

def header_title
  count unless @total_items_count.nil?
end

#resource_stringObject



37
38
39
40
41
# File 'app/components/polaris/resource_list_component.rb', line 37

def resource_string
  return @resource_name[:singular] if @items.size === 1 && !@total_items_count

  @resource_name[:plural]
end