Sha256: 0c9c5a0f361ad403b8c03f5ca65fff1866f3e1b60bce94765489ba79d39d8048

Contents?: true

Size: 961 Bytes

Versions: 7

Compression:

Stored size: 961 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # This cell renders a link in the top navbar
  # so admins can easily manage data without having to look for it at the admin
  # panel when they are at a public page.
  # example use:
  #   <%= cell("decidim/navbar_admin_link", { link_url: link_url, link_options: link_options }) %>
  #
  class NavbarAdminLinkCell < Decidim::ViewModel
    def show
      render if link_url
    end

    private

    def link_url
      return if model[:link_url].blank?

      model[:link_url]
    end

    def link_icon_name
      return "pencil-line" if model[:link_options][:icon].blank?

      model[:link_options][:icon]
    end

    def link_name
      return t("layouts.decidim.edit_link.edit") if model[:link_options][:name].blank?

      model[:link_options][:name]
    end

    def icon_options
      options = model[:icon_options].presence || {}

      options.merge(role: "img", "aria-hidden": true)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-core-0.29.2 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.1 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.0 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.0.rc4 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.0.rc3 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.0.rc2 app/cells/decidim/navbar_admin_link_cell.rb
decidim-core-0.29.0.rc1 app/cells/decidim/navbar_admin_link_cell.rb