Sha256: 6282bfd54871c9e5d0fa4a447b264e59e77e5e06d416c9de572933e9f2f52fd3

Contents?: true

Size: 1.25 KB

Versions: 12

Compression:

Stored size: 1.25 KB

Contents

format :html do
  view :tabs do
    construct_tabs "tabs"
  end

  def construct_tabs tab_type
    tabs = { active: {}, paths: {} }
    voo.items[:view] ||= :content
    card.each_item_name_with_options(_render_raw) do |name, options|
      construct_tab tabs, name, options
    end
    tabs tabs[:paths], tabs[:active][:name], tab_type: tab_type, load: :lazy do
      tabs[:active][:content]
    end
  end

  def construct_tab tabs, name, explicit_options
    tab_options = item_view_options explicit_options
    tabs[:paths][name] = {
      title: nest(name, view: :title, title: tab_options[:title]),
      path: nest_path(name, tab_options).html_safe
    }
    return unless tabs[:active].empty?

    tabs[:active] = { name: name, content: nest(name, tab_options) }
  end

  # def tab_title title, name
  #   return name unless title
  #   name.to_name.title title, @context_names
  # end

  view :pills do
    construct_tabs "pills"
  end

  view :tabs_static do
    construct_static_tabs "tabs"
  end

  view :pills_static do
    construct_static_tabs "pills"
  end

  def construct_static_tabs tab_type
    tabs = {}
    card.item_cards.each do |item|
      tabs[item.name] = nest item, item_view_options(args)
    end
    tabs tabs, nil, tab_type: tab_type
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
card-mod-layout-0.14.2 set/all/tabs.rb
card-mod-layout-0.14.1 set/all/tabs.rb
card-mod-layout-0.14.0 set/all/tabs.rb
card-mod-layout-0.13.4 set/all/tabs.rb
card-mod-layout-0.13.3 set/all/tabs.rb
card-mod-layout-0.13.2 set/all/tabs.rb
card-mod-layout-0.13.1 set/all/tabs.rb
card-mod-layout-0.13.0 set/all/tabs.rb
card-mod-layout-0.11.7 set/all/tabs.rb
card-mod-layout-0.12.0 set/all/tabs.rb
card-mod-layout-0.11.6 set/all/tabs.rb
card-mod-layout-0.11.5 set/all/tabs.rb