Sha256: 31df431e4f247ce268570a833c67ca7d114735951843838f43ff86ec9cbc7641

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

module HeaderPatch
  def build(*args)
    super
    self.aa_data[:global_navigation] = export_aa_data_menu @menu.items(self)
    self.aa_data[:utility_navigation] = export_aa_data_menu @utility_menu.items(self)
  end

  def build_site_title
    arbre_content_for :site_title do
      super
    end
  end

  def build_global_navigation
    arbre_content_for :global_navigation do
      super
    end
  end

  def build_utility_navigation
    arbre_content_for :utility_navigation do
      super
    end
  end

  #
  # Exports menu data as a hash
  #
  #
  # @return [Hash] Hash containing current menu information
  # 
  def export_aa_data_menu menu_items
    menu_data = []
    if menu_items.presence
      menu_items.each do |item|
        menu_data.push({
          id: item.id,
          current: item.current?(assigns[:current_tab]),
          url: item.url(self),
          label: item.label(self),
          html_options: item.html_options,
          children: export_aa_data_menu(item.items(self))
        })
      end
    end
    menu_data
  end
end

module ActiveAdmin
  module Views
    class Header
      prepend HeaderPatch
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
activeadmin_custom_layout-0.1.9 lib/activeadmin_custom_layout/layout/header.rb
activeadmin_custom_layout-0.1.8 lib/activeadmin_custom_layout/layout/header.rb
activeadmin_custom_layout-0.1.7 lib/activeadmin_custom_layout/layout/header.rb
activeadmin_custom_layout-0.1.6 lib/activeadmin_custom_layout/layout/header.rb
activeadmin_custom_layout-0.1.5 lib/activeadmin_custom_layout/layout/header.rb
activeadmin_custom_layout-0.1.4 lib/activeadmin_custom_layout/layout/header.rb