Class: Playbook::PbVerticalNav::VerticalNav

Inherits:
Playbook::PbKit::Base show all
Includes:
ActionView::Context, ActionView::Helpers::TagHelper
Defined in:
app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb

Constant Summary collapse

PROPS =
%i[configured_aria
configured_classname
configured_data
configured_id
configured_link
configured_title
block].freeze

Instance Method Summary collapse

Methods inherited from Playbook::PbKit::Base

#adjusted_value, #aria, #classname, #concat_value, #data, #default_value, #false_value, #id, #is_boolean?, #is_integer?, #is_set?, #is_string?, #is_true?, #merge_value, #one_of?, #one_of_value, #true_value

Constructor Details

#initialize(aria: default_configuration, classname: default_configuration, data: default_configuration, id: default_configuration, link: default_configuration, title: default_configuration, &block) ⇒ VerticalNav

Returns a new instance of VerticalNav.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 17

def initialize(aria: default_configuration,
               classname: default_configuration,
               data: default_configuration,
               id: default_configuration,
               link: default_configuration,
               title: default_configuration,
               &block)
  self.configured_aria = aria
  self.configured_classname = classname
  self.configured_data = data
  self.configured_id = id
  self.configured_link = link
  self.configured_title = title
  self.block = block_given? ? block : nil
end

Instance Method Details



48
49
50
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 48

def link
  default_value(configured_link, "#")
end

#titleObject



38
39
40
41
42
43
44
45
46
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 38

def title
  if is_set? configured_title
    (:div, class: "vertical_nav_list_title") do
      (:a, class: "vertical_nav_list_item_link_text", href: link) do
        title_text
      end
    end
  end
end

#title_textObject



33
34
35
36
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 33

def title_text
  pb_title = Playbook::PbCaption::Caption.new(text: configured_title)
  ApplicationController.renderer.render(partial: pb_title, as: :object)
end

#to_partial_pathObject



56
57
58
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 56

def to_partial_path
  "pb_vertical_nav/vertical_nav"
end

#yield(context:) ⇒ Object



52
53
54
# File 'app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb', line 52

def yield(context:)
  context.capture(&block)
end