Sha256: 108e3c2275c6190b82e8e0ef81f1791a9afbd1fa8ed3b248cc45ce3d42407469

Contents?: true

Size: 1.09 KB

Versions: 15

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true
module ActiveAdmin
  class BaseController < ::InheritedResources::Base
    module Menu
      extend ActiveSupport::Concern

      included do
        before_action :set_current_menu_item

        helper_method :current_menu
        helper_method :current_menu_item?
      end

      protected

      def current_menu
        active_admin_config.navigation_menu
      end

      def current_menu_item?(item)
        item.current?(@current_menu_item)
      end

      def set_current_menu_item
        @current_menu_item = if current_menu && active_admin_config.belongs_to? && parent?
                               parent_item = active_admin_config.belongs_to_config.target.menu_item
                               if current_menu.include? parent_item
                                 parent_item
                               else
                                 active_admin_config.menu_item
                               end
                             else
                               active_admin_config.menu_item
                             end
      end

    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
activeadmin-4.0.0.beta15 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta14 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta13 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta12 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta11 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta10 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta9 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta8 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta7 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta6 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta5 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta4 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta3 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta2 app/controllers/active_admin/base_controller/menu.rb
activeadmin-4.0.0.beta1 app/controllers/active_admin/base_controller/menu.rb