private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { var childPages = page.Children.Where("Visible") .Where(x => x.Level <= 2) .Where(x => !x.HasProperty("excludeFromTopNavigation") || !x.GetPropertyValue <bool>("excludeFromTopNavigation")); if (childPages == null) { return(new List <NavigationListItem>()); } if (!childPages.Any()) { return(new List <NavigationListItem>()); } var result = new List <NavigationListItem>(); foreach (var childPage in childPages) { var listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)) { Items = GetChildNavigationList(childPage) }; result.Add(listItem); } return(result); }
/// <summary> /// Adds a new item to the navigation panel given the module (navigationPanelItemName) and module group (). /// Note, if either module or module group does not exist then an exception is thrown. /// </summary> /// <param name="navigationPanelItemName"></param> /// <param name="navigationListName"></param> /// <param name="moduleGroupItem"></param> public void AddNavigationListItem(string navigationPanelItemName, string navigationListName, ModuleGroupItem moduleGroupItem) { var navigationPanelItem = navigationPanel.NavigationPanelItems.FirstOrDefault( npi => npi.NavigationPanelItemName.Equals(navigationPanelItemName)); var navigationList = navigationPanelItem.NavigationList.FirstOrDefault( nl => nl.NavigationListName.Equals(navigationListName)); var navigationListItems = new NavigationListItem { ItemName = moduleGroupItem.ModuleGroupItemName, ImageLocation = moduleGroupItem.ModuleGroupItemImagePath }; navigationListItems.ItemClicked += GroupListItemItemClicked; navigationList.NavigationListItems.Add(navigationListItems); var navigationSettings = new NavigationSettings { Title = moduleGroupItem.TargetViewTitle, View = moduleGroupItem.TargetView }; string navigationKey = String.Format("{0}.{1}.{2}", navigationPanelItem.NavigationPanelItemName, navigationList.NavigationListName, navigationListItems.ItemName); navigationListItems.Tag = navigationKey; navigationSettingsList.Add(navigationKey, navigationSettings); }
private static List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { var childPages = page.Children.Where(v => v.IsVisible()) .Where(v => !v.HasValue("excludeFromTopNavigation") || (v.HasValue("excludeFromTopNavigation") && !v.GetPropertyValue <bool>("excludeFromTopNavigation"))).ToList(); if (!childPages.Any()) { return(null); } var listItems = new List <NavigationListItem>(); foreach (var childPage in childPages) { var listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)) { Items = GetChildNavigationList(childPage) }; listItems.Add(listItem); } return(listItems); }
/// <summary> /// Adds a new item to the navigation panel given the module (navigationPanelItemName) and module group (). /// Note, if either module or module group does not exist then an exception is thrown. /// </summary> /// <param name="navigationPanelItemName"></param> /// <param name="navigationListName"></param> /// <param name="moduleGroupItem"></param> public void AddNavigationListItem(string navigationPanelItemName, string navigationListName, ModuleGroupItem moduleGroupItem) { if (moduleGroupItem == null) { throw new ArgumentNullException(nameof(moduleGroupItem)); } var navigationPanelItem = NavigationPanelItems.FirstOrDefault( npi => npi.NavigationPanelItemName.Equals(navigationPanelItemName, StringComparison.Ordinal)); var navigationList = navigationPanelItem.NavigationList.FirstOrDefault( nl => nl.NavigationListName.Equals(navigationListName, StringComparison.Ordinal)); var navigationListItem = new NavigationListItem { ItemName = moduleGroupItem.ModuleGroupItemName, ImageLocation = moduleGroupItem.ModuleGroupItemImagePath }; OnRegisterNavigation(navigationListItem); navigationList.NavigationListItems.Add(navigationListItem); var navigationSettings = new NavigationSettings { Title = moduleGroupItem.TargetViewTitle, View = moduleGroupItem.TargetView }; string navigationKey = $"{navigationPanelItem.NavigationPanelItemName}.{navigationList.NavigationListName}.{navigationListItem.ItemName}"; navigationListItem.Tag = navigationKey; NavigationSettingsList.Add(navigationKey, navigationSettings); }
public void SelectionChanged(object sender, SelectionChangedEventArgs e) { if (SelectedIndex < 0) { return; } NavigationListItem item = NavigationList[SelectedIndex]; if (item != null && item.PageType != null) { ClearDetailFrame(); FuncFrame.Navigate(item.PageType); } }
private ListResult <NavigationListItem> GetNavigation(int siteId) { ListResult <NavigationListItem> data = null; if (base.IsUseCache) { data = MemoryCacher.GetValue("SITE-NAVIGATION") as ListResult <NavigationListItem>; if (data != null) { return(data); } } IList <NavigateInfo> allNavigates = VShopHelper.GetAllNavigate(ClientType.App); List <NavigationListItem> items = new List <NavigationListItem>(); if (allNavigates != null) { NavigationListItem item = null; foreach (var current in allNavigates) { item = new NavigationListItem(); item.Id = current.BannerId; item.Title = current.ShortDesc; item.Icon = Util.AppendImageHost(current.ImageUrl); item.NavigationType = (int)current.LocationType; item.Values = current.Url; item.DisplaySequence = current.DisplaySequence; items.Add(item); } } data = new ListResult <NavigationListItem>(); data.TotalNumOfRecords = items.Count;; data.Results = items; if (base.IsUseCache) { MemoryCacher.Add("SITE-NAVIGATION", data, DateTimeOffset.UtcNow.AddMinutes(SITE_CACHE_KEEP_TIME)); } return(data); }
/// <summary> /// Adds a new module to the navigation view. Called by the <see cref="ModuleNavigator"/>. /// </summary> /// <param name="moduleSettings">Module settings.</param> public void AddModule(ModuleSettings moduleSettings) { if (moduleSettings == null) { throw new ArgumentNullException(nameof(moduleSettings)); } var navigationPanelItem = new NavigationPanelItem { NavigationPanelItemName = moduleSettings.ModuleName, ImageLocation = moduleSettings.ModuleImagePath }; foreach (ModuleGroup moduleGroup in moduleSettings.ModuleGroups) { var navigationList = new NavigationList { NavigationListName = moduleGroup.ModuleGroupName }; foreach (ModuleGroupItem moduleGroupItem in moduleGroup.ModuleGroupItems) { var navigationListItem = new NavigationListItem { ItemName = moduleGroupItem.ModuleGroupItemName, ImageLocation = moduleGroupItem.ModuleGroupItemImagePath }; OnRegisterNavigation(navigationListItem); navigationList.NavigationListItems.Add(navigationListItem); var navigationSettings = new NavigationSettings { Title = moduleGroupItem.TargetViewTitle, View = moduleGroupItem.TargetView }; string navigationKey = $"{navigationPanelItem.NavigationPanelItemName}.{navigationList.NavigationListName}.{navigationListItem.ItemName}"; navigationListItem.Tag = navigationKey; NavigationSettingsList.Add(navigationKey, navigationSettings); } navigationPanelItem.NavigationList.Add(navigationList); } NavigationPanelItems.Add(navigationPanelItem); }
private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { List <NavigationListItem> listItems = new List <NavigationListItem>(); var childPages = page.Children.Where(x => x.DocumentTypeAlias.ToLower() == "page"); if (childPages != null && childPages.Any() && childPages.Count() > 0) { foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
/// <summary> /// Loops through the child pages of a given page and their children to get the structure of the site. /// </summary> /// <param name="page">The parent page which you want the child structure for</param> /// <returns>A List of NavigationListItems, representing the structure of the pages below a page.</returns> private List <NavigationListItem> GetChildNavigationList(dynamic page) { List <NavigationListItem> listItems = null; var childPages = page.Children.Where("Visible"); if (childPages != null && childPages.Any() && childPages.Count() > 0) { listItems = new List <NavigationListItem>(); foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
/// <summary> /// Loops through the child pages of a given page and their children to get the structure of the site. /// </summary> /// <param name="page">The parent page which you want the child structure for</param> /// <returns>A List of NavigationListItems, representing the structure of the pages below a page.</returns> private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { List <NavigationListItem> listItems = null; var childPages = page.Children.Where("Visible").Where(x => x.Level <= 2).Where(x => !x.HasValue("excludeFromTopNavigation") || (x.HasValue("excludeFromTopNavigation") && !x.GetPropertyValue <bool>("excludeFromTopNavigation"))); if (childPages != null && childPages.Any() && childPages.Count() > 0) { listItems = new List <NavigationListItem>(); foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
/// <summary> /// Adds a new module to the navigation view. Called by the <see cref="ModuleNavigator"/>. /// </summary> /// <param name="moduleSettings">Module settings.</param> public void AddModule(ModuleSettings moduleSettings) { var navigationPanelItem = new NavigationPanelItem { NavigationPanelItemName = moduleSettings.ModuleName, ImageLocation = moduleSettings.ModuleImagePath }; foreach (ModuleGroup moduleGroup in moduleSettings.ModuleGroups) { var navigationList = new NavigationList { NavigationListName = moduleGroup.ModuleGroupName }; foreach (ModuleGroupItem moduleGroupItem in moduleGroup.ModuleGroupItems) { var navigationListItem = new NavigationListItem { ItemName = moduleGroupItem.ModuleGroupItemName, ImageLocation = moduleGroupItem.ModuleGroupItemImagePath }; OnRegisterNavigation(navigationListItem); navigationList.NavigationListItems.Add(navigationListItem); var navigationSettings = new NavigationSettings { Title = moduleGroupItem.TargetViewTitle, View = moduleGroupItem.TargetView }; string navigationKey = string.Format("{0}.{1}.{2}", navigationPanelItem.NavigationPanelItemName, navigationList.NavigationListName, navigationListItem.ItemName); navigationListItem.Tag = navigationKey; NavigationSettingsList.Add(navigationKey, navigationSettings); } navigationPanelItem.NavigationList.Add(navigationList); } NavigationPanelItems.Add(navigationPanelItem); }
/// <summary> /// Loops through the child pages of a given page and their children to get the structure of the site. /// </summary> /// <param name="page">The parent page which you want the child structure for</param> /// <returns>A List of NavigationListItems, representing the structure of the pages below a page.</returns> private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { List <NavigationListItem> listItems = null; //var childPages = page.Children.Where(x => x.IsVisible()); var childPages = page.Children.Where("Visible").Where(x => x.Level <= 2); if (childPages != null && childPages.Any() && childPages.Count() > 0) { listItems = new List <NavigationListItem>(); foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { List <NavigationListItem> listItems = new List <NavigationListItem>(); var childPages = page.Children.Where(x => (x.HasValue("excludeFromTopNavigation") && x.GetPropertyValue <bool>("excludeFromTopNavigation") != true) || !x.HasValue("excludeFromTopNavigation"));// & x.Level <= 2); //todo: Change so that only outputs blog categores in the blog sub menu and not the blog posts if (childPages != null && childPages.Count() > 0) { foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
/// <summary> /// Loops through the child pages of a given page and their children to get the structure of the site. /// </summary> /// <param name="page">The parent page which you want the child structure for</param> /// <returns>A List of NavigationListItems, representing the structure of the pages below a page.</returns> private List <NavigationListItem> GetChildNavigationList(IPublishedContent page) { List <NavigationListItem> listItems = null; var childPages = page.Children; if (childPages != null) { listItems = new List <NavigationListItem>(); foreach (var childPage in childPages) { NavigationListItem listItem = new NavigationListItem(new NavigationLink(childPage.Url, childPage.Name)); listItem.Items = GetChildNavigationList(childPage); listItems.Add(listItem); } } return(listItems); }
public NavigationEventArgs(NavigationListItem navigationListItem) { NavigationListItem = navigationListItem; }
private void OnUnregisterNavigation(NavigationListItem navigationListItem) { var unregisterNavigation = UnregisterNavigation; unregisterNavigation?.Invoke(this, new NavigationEventArgs(navigationListItem)); }