/// <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); }
public static NavigationImplementation GetNavigationInstance() { return(_navigation ?? (_navigation = new NavigationImplementation())); }
/// <summary> /// <inheritdoc cref="INavigation.Refresh()" /> /// </summary> public void Refresh() { NavigationImplementation.Refresh(); }
/// <summary> /// <inheritdoc cref="INavigation.Forward()" /> /// </summary> public void Forward() { NavigationImplementation.Forward(); }
/// <summary> /// <inheritdoc cref="INavigation.Back()" /> /// </summary> public void Back() { NavigationImplementation.Back(); }