summaryrefslogtreecommitdiff
path: root/app/models/sidebars/menu.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/sidebars/menu.rb')
-rw-r--r--app/models/sidebars/menu.rb82
1 files changed, 0 insertions, 82 deletions
diff --git a/app/models/sidebars/menu.rb b/app/models/sidebars/menu.rb
deleted file mode 100644
index a5c8be2bb31..00000000000
--- a/app/models/sidebars/menu.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-# frozen_string_literal: true
-
-module Sidebars
- class Menu
- extend ::Gitlab::Utils::Override
- include ::Gitlab::Routing
- include GitlabRoutingHelper
- include Gitlab::Allowable
- include ::Sidebars::HasPill
- include ::Sidebars::HasIcon
- include ::Sidebars::PositionableList
- include ::Sidebars::Renderable
- include ::Sidebars::ContainerWithHtmlOptions
- include ::Sidebars::HasActiveRoutes
-
- attr_reader :context
- delegate :current_user, :container, to: :@context
-
- def initialize(context)
- @context = context
- @items = []
-
- configure_menu_items
- end
-
- def configure_menu_items
- # No-op
- end
-
- override :render?
- def render?
- @items.empty? || renderable_items.any?
- end
-
- # Menus might have or not a link
- override :link
- def link
- nil
- end
-
- # This method normalizes the information retrieved from the submenus and this menu
- # Value from menus is something like: [{ path: 'foo', path: 'bar', controller: :foo }]
- # This method filters the information and returns: { path: ['foo', 'bar'], controller: :foo }
- def all_active_routes
- @all_active_routes ||= begin
- ([active_routes] + renderable_items.map(&:active_routes)).flatten.each_with_object({}) do |pairs, hash|
- pairs.each do |k, v|
- hash[k] ||= []
- hash[k] += Array(v)
- hash[k].uniq!
- end
-
- hash
- end
- end
- end
-
- def has_items?
- @items.any?
- end
-
- def add_item(item)
- add_element(@items, item)
- end
-
- def insert_item_before(before_item, new_item)
- insert_element_before(@items, before_item, new_item)
- end
-
- def insert_item_after(after_item, new_item)
- insert_element_after(@items, after_item, new_item)
- end
-
- def has_renderable_items?
- renderable_items.any?
- end
-
- def renderable_items
- @renderable_items ||= @items.select(&:render?)
- end
- end
-end