Sha256: af62cb81447a7bb25e5ad53a086520a5c87e4946fe6bd2b6bc323316c3b44761

Contents?: true

Size: 747 Bytes

Versions: 3

Compression:

Stored size: 747 Bytes

Contents

module ExpressAdmin
  # renders a sidebar partial if one is available
  # otherwise uses menu.yml
  class AddonSidebarComponent < ExpressTemplates::Components::Base

    emits -> {
      begin
        render("shared/#{helpers.current_module_path_name}/sidebar")
      rescue Exception => e
        section(class: 'module-sidebar') {
          ul(class: 'menu-items') {
            li(class: 'title') { current_menu_name }
            menu_list(helpers.current_menu.items)
          }
        }
      end
    }

    def menu_list(list)
      list.each do |item|
        menu_list_item(item)
      end
    end

    def menu_list_item(item)
      li {
        link_to item.title.html_safe, helpers.instance_eval(item.path)
      }
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
express_admin-1.3.2 app/components/express_admin/addon_sidebar_component.rb
express_admin-1.3.1 app/components/express_admin/addon_sidebar_component.rb
express_admin-1.3.0 app/components/express_admin/addon_sidebar_component.rb