Sha256: 2e42d6ea72f84460941ddca8ddf3b6f874a0df23b3229b2415f9badab5ba5392

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

Decidim::MenuPresenter.class_eval do
  def evaluated_menu
    @evaluated_menu ||= if awesome_override?
                          Decidim::DecidimAwesome::MenuHacker.new(@name, @view)
                        else
                          begin
                            menu = Decidim::Menu.new(@name)
                            menu.build_for(@view)
                            menu
                          end
                        end
  end

  private

  def awesome_override?
    return false unless Decidim::DecidimAwesome.config.has_key?(@name)

    Decidim::DecidimAwesome.config.send(@name) != :disabled
  end
end

Decidim::MenuItemPresenter.class_eval do
  def link_to(name = nil, options = nil, html_options = nil, &block)
    html_options ||= {}
    html_options[:target] = @menu_item.try(:target)

    options ||= html_options
    @view.link_to(name, options, html_options, &block)
  end

  def active
    return @menu_item.active.call(url, @view) if @menu_item.try(:active).respond_to?(:call)

    @menu_item&.active
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
decidim-decidim_awesome-0.7.2 app/awesome_overrides/presenters/decidim/menu_presenter_override.rb
decidim-decidim_awesome-0.7.0 app/awesome_overrides/presenters/decidim/menu_presenter_override.rb
decidim-decidim_awesome-0.6.7 app/awesome_overrides/presenters/decidim/menu_presenter_override.rb
decidim-decidim_awesome-0.6.6 app/awesome_overrides/presenters/decidim/menu_presenter_override.rb