Ejemplo n.º 1
0
        private SubNavigationMenuItemModel Map(INodeModel nodeModel)
        {
            var result = new SubNavigationMenuItemModel
            {
                Id          = nodeModel.Id,
                Name        = nodeModel.Name,
                Url         = nodeModel.Url,
                Active      = IsActive(nodeModel.Id),
                CurrentItem = IsCurrentItem(nodeModel.Id)
            };

            return(result);
        }
Ejemplo n.º 2
0
        private void CollectSubItems(SubNavigationMenuItemModel item)
        {
            item.SubItems = GetChildren(item.Id).Reverse().Select(Map).ToList();

            var activeItem = item.SubItems.SingleOrDefault(i => i.Active);

            if (activeItem == null)
            {
                return;
            }
            if (GetChildren(activeItem.Id).Any())
            {
                CollectSubItems(activeItem);
            }
        }
        protected virtual SubNavigationMenuItemModel MapToSubNavigationMenuItemModel(IPublishedContent publishedContent)
        {
            var isActive = CurrentPage.Path
                           .ParseCollection(int.Parse)
                           .Contains(publishedContent.Id);

            var result = new SubNavigationMenuItemModel
            {
                Id       = publishedContent.Id,
                Name     = GetNavigationName(publishedContent),
                Url      = publishedContent.Url,
                IsActive = isActive
            };

            return(result);
        }