Sha256: 372a6e2b18152dec976929c46a3cabe94ac3eb1f1b1813e72cafa184b11acef9

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 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

7 entries across 7 versions & 2 rubygems

Version Path
card-mod-layout-0.11.4 set/all/tabs.rb
card-mod-layout-0.11.3 set/all/tabs.rb
card-mod-layout-0.11.2 set/all/tabs.rb
card-mod-layout-0.11.1 set/all/tabs.rb
card-mod-layout-0.11.0 set/all/tabs.rb
card-1.100.0 mod/core/set/all/tabs.rb
card-1.99.6 mod/core/set/all/tabs.rb