Sha256: c12c37db7ee92521f178da6ec86541113e66296d1d1ade4bae509abff2123ae2

Contents?: true

Size: 872 Bytes

Versions: 47

Compression:

Stored size: 872 Bytes

Contents

# frozen_string_literal: true

module Decidim
  #
  # This class handles all logic regarding menu items
  #
  class MenuItem
    # Builds a new menu item
    #
    # @param label [String, Symbol] A compulsory label for the menu item
    # @param url [String, Symbol] The URL this item will link to
    # @param options [Hash] The options for the menu item
    #
    def initialize(label, url, identifier, options = {})
      @label = label
      @url = url
      @identifier = identifier
      @position = options[:position] || Float::INFINITY
      @if = options[:if]
      @active = options[:active]
      @icon_name = options[:icon_name]
      @submenu = options[:submenu]
    end

    attr_accessor :position
    attr_reader :label, :url, :active, :icon_name, :submenu, :identifier

    def visible?
      return true if @if.nil? || @if

      false
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc1 lib/decidim/menu_item.rb
decidim-core-0.29.2 lib/decidim/menu_item.rb
decidim-core-0.28.5 lib/decidim/menu_item.rb
decidim-core-0.29.1 lib/decidim/menu_item.rb
decidim-core-0.28.4 lib/decidim/menu_item.rb
decidim-core-0.27.9 lib/decidim/menu_item.rb
decidim-core-0.29.0 lib/decidim/menu_item.rb
decidim-core-0.28.3 lib/decidim/menu_item.rb
decidim-core-0.27.8 lib/decidim/menu_item.rb
decidim-core-0.29.0.rc4 lib/decidim/menu_item.rb
decidim-core-0.29.0.rc3 lib/decidim/menu_item.rb
decidim-core-0.29.0.rc2 lib/decidim/menu_item.rb
decidim-core-0.29.0.rc1 lib/decidim/menu_item.rb
decidim-core-0.28.2 lib/decidim/menu_item.rb
decidim-core-0.27.7 lib/decidim/menu_item.rb
decidim-core-0.28.1 lib/decidim/menu_item.rb
decidim-core-0.27.6 lib/decidim/menu_item.rb
decidim-core-0.26.10 lib/decidim/menu_item.rb
decidim-core-0.26.9 lib/decidim/menu_item.rb
decidim-core-0.28.0 lib/decidim/menu_item.rb