Class: Pajamas::BannerComponent

Inherits:
Component
  • Object
show all
Defined in:
app/components/pajamas/banner_component.rb

Constant Summary collapse

VARIANT_OPTIONS =
[:introduction, :promotion].freeze

Instance Method Summary collapse

Constructor Details

#initialize(button_text: 'OK', button_link: '#', embedded: false, variant: :promotion, svg_path: nil, banner_options: {}, button_options: {}, close_options: {}) ⇒ BannerComponent

Returns a new instance of BannerComponent.

Parameters:

  • button_text (String) (defaults to: 'OK')
  • button_link (String) (defaults to: '#')
  • embedded (Boolean) (defaults to: false)
  • variant (Symbol) (defaults to: :promotion)
  • svg_path (String) (defaults to: nil)
  • banner_options (Hash) (defaults to: {})
  • button_options (Hash) (defaults to: {})
  • close_options (Hash) (defaults to: {})


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/components/pajamas/banner_component.rb', line 13

def initialize(
  button_text: 'OK',
  button_link: '#',
  embedded: false,
  variant: :promotion,
  svg_path: nil,
  banner_options: {},
  button_options: {},
  close_options: {}
)
  @button_text = button_text
  @button_link = button_link
  @embedded = embedded
  @variant = filter_attribute(variant.to_sym, VARIANT_OPTIONS, default: :promotion)
  @svg_path = svg_path.to_s
  @banner_options = banner_options
  @button_options = button_options
  @close_options = format_options(options: close_options, css_classes: %w[js-close gl-banner-close])
end