Sha256: 48139449af6565d7fa31a27c17e016bdb5ff33fc9249ac318cb3959de95a4b62
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
class MenuCell < Cell::Rails include ::RademadeAdmin::UriHelper class << self attr_accessor :current_model end def root_item @uri = root_uri @name = t('rademade_admin.home') @ico_class = 'glyphicon glyphicon-home' @has_sub_items = false @is_active = self.class.current_model.nil? render view: :item end def item(item) item_data(item) render end def sub_items(sub_items) @sub_items = sub_items render end def sub_item(sub_item) item_data(sub_item) render end private def item_data(item) @is_active = current?(item) || children_current?(item) #todo extract service for current @uri = admin_list_uri(item.model) @name = item.name @has_sub_items = item.has_sub_items? @sub_items = item.sub_items end def current?(item) self.class.current_model == item.model end def children_current?(item, status = false) if item.has_sub_items? item.sub_items.each do |sub_item| status ||= current?(sub_item) || children_current?(sub_item) end end status end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rademade_admin-0.1.3 | app/cells/menu_cell.rb |
rademade_admin-0.1.2 | app/cells/menu_cell.rb |
rademade_admin-0.1.1 | app/cells/menu_cell.rb |