Sha256: 50a6a4650e5b312a77a3aecbd5360ced575628c63a9c87a99bb19df0bfc78b7f

Contents?: true

Size: 844 Bytes

Versions: 24

Compression:

Stored size: 844 Bytes

Contents

module AmaLayout
  class NavigationItemDecorator
    include AmaLayout::DraperReplacement

    def sub_nav
      object.sub_nav.map { |sn| sn.decorate }
    end

    def sub_nav_class
      "has-dropdown" if sub_nav.any?
    end

    def top_sub_nav
      h.render partial: "ama_layout/top_sub_nav", locals: { sub_nav: sub_nav } if sub_nav.any?
    end

    def sidebar_sub_nav
      h.render partial: "ama_layout/sub_nav", locals: { sub_nav: sub_nav } if sub_nav.any?
    end

    def active_class
      "side-nav__child-link--active-page" if active_link?
    end

  private
    def active_link?
      sub_nav.map(&:link).push(link).include? current_url_without_query
    end

    def current_url_without_query
      URI.parse(current_url).tap { |uri| uri.query = nil }.to_s
    rescue URI::InvalidURIError
      current_url
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ama_layout-11.5.1 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.5.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.4.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.3.1 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.3.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.2.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-11.1.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-10.2.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-10.1.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-10.0.1 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.5.3 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.5.2 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.5.1 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.5.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.4.1 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.4.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.3.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.2.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.1.0 lib/ama_layout/decorators/navigation_item_decorator.rb
ama_layout-9.0.0 lib/ama_layout/decorators/navigation_item_decorator.rb