Example #1
0
        /// <summary>
        ///     <inheritdoc cref="INavigation.GoToUrl(Uri)" />
        /// </summary>
        /// <exception cref="ArgumentNullException"></exception>
        public void GoToUrl([NotNull] Uri url)
        {
            if (url == null)
            {
                throw new ArgumentNullException(nameof(url));
            }

            NavigationImplementation.GoToUrl(url);
        }
        ///Making this method static so we can use the same method in MenuWidget.
        /// todo: is there a better way of doing this? may be move this to a helper function
        private static IList <NavigationImplementation> GetNavigationImpl(IList <MenuItem> menuItems, int parentMenuItemId, IList <Category> categories)
        {
            if (menuItems == null)
            {
                return(null);
            }
            var navigation = new List <NavigationImplementation>();

            foreach (var menuItem in menuItems.Where(x => x.ParentId == parentMenuItemId))
            {
                if (parentMenuItemId == 0 && menuItem.IsGroup)
                {
                    continue;
                }

                var url = menuItem.SeoMeta == null ? menuItem.Url : null;
                if (url == null && menuItem.SeoMeta != null)
                {
                    url = SeoMetaHelper.GetUrl(menuItem.SeoMeta);
                }

                var title          = menuItem.Name;
                var navigationItem = new NavigationImplementation
                {
                    Url      = url,
                    Title    = title,
                    IsGroup  = menuItem.IsGroup,
                    Css      = menuItem.CssClass,
                    Children = GetNavigationImpl(menuItems, menuItem.Id, categories) ??
                               new List <NavigationImplementation>(),
                    Id = menuItem.Id,
                    OpenInNewWindow = menuItem.OpenInNewWindow,
                    Description     = menuItem.Description,
                    ExtraData       = menuItem.ExtraData
                };
                navigation.Add(navigationItem);
            }
            return(navigation);
        }
Example #3
0
 public static NavigationImplementation GetNavigationInstance()
 {
     return(_navigation ?? (_navigation = new NavigationImplementation()));
 }
Example #4
0
 /// <summary>
 ///     <inheritdoc cref="INavigation.Refresh()" />
 /// </summary>
 public void Refresh()
 {
     NavigationImplementation.Refresh();
 }
Example #5
0
 /// <summary>
 ///     <inheritdoc cref="INavigation.Forward()" />
 /// </summary>
 public void Forward()
 {
     NavigationImplementation.Forward();
 }
Example #6
0
 /// <summary>
 ///     <inheritdoc cref="INavigation.Back()" />
 /// </summary>
 public void Back()
 {
     NavigationImplementation.Back();
 }