protected void set_targets(RadPanelItemCollection items) { foreach (RadPanelItem item in items) { item.Target = rightPane.ClientID; set_targets(item.Items); } }
private void BuildPanelbar(RadPanelItemCollection rootCollection) { qElement temp; qElement temp2; TabInfo page; int pageID; int j; int iItemIndex; while (PagesQueue.Count != 0) { pageID = Convert.ToInt32(PagesQueue.Dequeue()); temp = (qElement) AuthPages[pageID]; page = temp.page; temp.radPanelItem.Text = page.TabName; if ((!String.IsNullOrEmpty(page.IconFile) && EnablePageIcons)) { if ((page.IconFile.StartsWith("~"))) { temp.radPanelItem.ImageUrl = Page.ResolveUrl(page.IconFile); } else { temp.radPanelItem.ImageUrl = PortalSettings.HomeDirectory + page.IconFile; } } if ((!page.DisableLink)) { if ((page.FullUrl.StartsWith("*") && page.FullUrl.IndexOf("*", 1) != -1)) { temp.radPanelItem.NavigateUrl = page.FullUrl.Substring(page.FullUrl.IndexOf("*", 1) + 1); temp.radPanelItem.Target = page.FullUrl.Substring(1, page.FullUrl.IndexOf("*", 1) - 1); } else { temp.radPanelItem.NavigateUrl = page.FullUrl; } } else if ((CopyChildItemLink && page.Level >= MaxLevel)) { j = 0; //check if there are any child items and use a href from the first one while ((j < AuthPages.Count && (((qElement) AuthPages[j]).page.ParentId != page.TabID || ((qElement) AuthPages[j]).page.DisableLink))) { j = j + 1; } if ((j < AuthPages.Count)) { //child item found. use its link temp.radPanelItem.NavigateUrl = ((qElement) AuthPages[j]).page.FullUrl; } } if ((EnableToolTips && !String.IsNullOrEmpty(page.Description))) { temp.radPanelItem.ToolTip = page.Description; } //set all other item properties if ((temp.radPanelItem.Level == 0)) { SetRootItemProperties(temp.radPanelItem, page.Level, temp.item, page.TabName); } else { SetItemProperties(temp.radPanelItem, page.Level, temp.item, page.TabName); } //check showpath if ((ShowPath)) { CheckShowPath(page.TabID, temp.radPanelItem, page.TabName); } //image-only panel check if ((ImagesOnlyPanel && temp.radPanelItem.ImageUrl != string.Empty)) { temp.radPanelItem.Text = string.Empty; } //attach child items the current one if ((page.Level < MaxLevel || MaxLevel < 0)) { iItemIndex = 0; for (j = 0; j <= AuthPages.Count - 1; j++) { temp2 = (qElement) AuthPages[j]; if ((temp2.page.ParentId == page.TabID)) { temp.radPanelItem.Items.Add(temp2.radPanelItem); PagesQueue.Enqueue(j); iItemIndex = iItemIndex + 1; temp2.item = iItemIndex; AuthPages[j] = temp2; } } } } }
private void BuildPanelbar(RadPanelItemCollection rootCollection) { qElement temp; qElement temp2; TabInfo page; int pageID; int j; int iItemIndex; while (PagesQueue.Count != 0) { pageID = Convert.ToInt32(PagesQueue.Dequeue()); temp = (qElement)AuthPages[pageID]; page = temp.page; temp.radPanelItem.Text = page.TabName; if ((!String.IsNullOrEmpty(page.IconFile) && EnablePageIcons)) { if ((page.IconFile.StartsWith("~"))) { temp.radPanelItem.ImageUrl = Page.ResolveUrl(page.IconFile); } else { temp.radPanelItem.ImageUrl = PortalSettings.HomeDirectory + page.IconFile; } } if ((!page.DisableLink)) { if ((page.FullUrl.StartsWith("*") && page.FullUrl.IndexOf("*", 1) != -1)) { temp.radPanelItem.NavigateUrl = page.FullUrl.Substring(page.FullUrl.IndexOf("*", 1) + 1); temp.radPanelItem.Target = page.FullUrl.Substring(1, page.FullUrl.IndexOf("*", 1) - 1); } else { temp.radPanelItem.NavigateUrl = page.FullUrl; } } else if ((CopyChildItemLink && page.Level >= MaxLevel)) { j = 0; //check if there are any child items and use a href from the first one while ((j < AuthPages.Count && (((qElement)AuthPages[j]).page.ParentId != page.TabID || ((qElement)AuthPages[j]).page.DisableLink))) { j = j + 1; } if ((j < AuthPages.Count)) { //child item found. use its link temp.radPanelItem.NavigateUrl = ((qElement)AuthPages[j]).page.FullUrl; } } if ((EnableToolTips && !String.IsNullOrEmpty(page.Description))) { temp.radPanelItem.ToolTip = page.Description; } //set all other item properties if ((temp.radPanelItem.Level == 0)) { SetRootItemProperties(temp.radPanelItem, page.Level, temp.item, page.TabName); } else { SetItemProperties(temp.radPanelItem, page.Level, temp.item, page.TabName); } //check showpath if ((ShowPath)) { CheckShowPath(page.TabID, temp.radPanelItem, page.TabName); } //image-only panel check if ((ImagesOnlyPanel && temp.radPanelItem.ImageUrl != string.Empty)) { temp.radPanelItem.Text = string.Empty; } //attach child items the current one if ((page.Level < MaxLevel || MaxLevel < 0)) { iItemIndex = 0; for (j = 0; j <= AuthPages.Count - 1; j++) { temp2 = (qElement)AuthPages[j]; if ((temp2.page.ParentId == page.TabID)) { temp.radPanelItem.Items.Add(temp2.radPanelItem); PagesQueue.Enqueue(j); iItemIndex = iItemIndex + 1; temp2.item = iItemIndex; AuthPages[j] = temp2; } } } } }
private void RecursivePopulatePanelbar(RadPanelBar parent, RadPanelItemCollection items, SiteMapNode node) { level++; imagesBaseDir = ResolveClientUrl("~/App_Shared/themes/glasscyan/Menu/"); foreach (SiteMapNode child in node.ChildNodes) { if (child.IsAccessibleToUser(HttpContext.Current)) { var panelItem = new RadPanelItem(); // // The NavigateUrl, are using a replace of "¨" to "&", cause the .NET has a Bug that // not allow the SiteMap to have & to concatenate a querystring // panelItem.NavigateUrl = child.Url.Replace("¨", "&"); panelItem.Target = "content"; panelItem.Enabled = true; panelItem.Expanded = false; panelItem.ImagePosition = RadPanelItemImagePosition.Left; panelItem.CssClass = "CssClass"; panelItem.FocusedCssClass = "FocusedCssClass"; panelItem.ExpandedCssClass = "ExpandedCssClass"; panelItem.DisabledCssClass = "DisabledCssClass"; panelItem.SelectedCssClass = "SelectedCssClass"; if (String.IsNullOrEmpty(node.Title)) { panelItem.CssClass = "HeaderCssClass"; panelItem.FocusedCssClass = "HeaderFocusedCssClass"; panelItem.ExpandedCssClass = "HeaderExpandedCssClass"; panelItem.DisabledCssClass = "HeaderDisabledCssClass"; panelItem.SelectedCssClass = "HeaderSelectedCssClass"; } if (!String.IsNullOrEmpty(child["ImageCollapsed"])) panelItem.ImageUrl = imagesBaseDir + child["ImageCollapsed"]; else panelItem.ImageUrl = imagesBaseDir + "blank" + (level - 1) + "x.gif"; if (!String.IsNullOrEmpty(child["ImageExpanded"])) panelItem.ExpandedImageUrl = imagesBaseDir + child["ImageExpanded"]; if (!String.IsNullOrEmpty(child["ImageDisabled"])) panelItem.DisabledImageUrl = imagesBaseDir + child["ImageDisabled"]; if (!String.IsNullOrEmpty(child["ImageHoverCollapsed"])) panelItem.HoveredImageUrl = imagesBaseDir + child["ImageHoverCollapsed"]; panelItem.Text = child.Title; if (!String.IsNullOrEmpty(child["startPageUrl"])) panelItem.Text += "</span></a><a plugin='lightbox' class='startPage' href='" + ResolveClientUrl(child["startPageUrl"]) + "?lightbox[iframe]=true' target='content'><span>"; items.Add(panelItem); RecursivePopulatePanelbar(panelItem.PanelBar, panelItem.Items, child); if (String.IsNullOrEmpty(child.Url) && child.ChildNodes.Count > 0 && panelItem.Items.Count == 0) panelItem.Visible = false; } } level--; }
private void RecursivePopulatePanelbar(RadPanelBar parent, RadPanelItemCollection items, SiteMapNode node) { level++; imagesBaseDir = ResolveClientUrl("~/App_Shared/themes/glasscyan/Menu/"); foreach (SiteMapNode child in node.ChildNodes) { if (child.IsAccessibleToUser(HttpContext.Current)) { var panelItem = new RadPanelItem(); // // The NavigateUrl, are using a replace of "¨" to "&", cause the .NET has a Bug that // not allow the SiteMap to have & to concatenate a querystring // panelItem.NavigateUrl = child.Url.Replace("¨", "&"); panelItem.Target = "content"; panelItem.Enabled = true; panelItem.Expanded = false; panelItem.ImagePosition = RadPanelItemImagePosition.Left; panelItem.CssClass = "CssClass"; panelItem.FocusedCssClass = "FocusedCssClass"; panelItem.ExpandedCssClass = "ExpandedCssClass"; panelItem.DisabledCssClass = "DisabledCssClass"; panelItem.SelectedCssClass = "SelectedCssClass"; if (String.IsNullOrEmpty(node.Title)) { panelItem.CssClass = "HeaderCssClass"; panelItem.FocusedCssClass = "HeaderFocusedCssClass"; panelItem.ExpandedCssClass = "HeaderExpandedCssClass"; panelItem.DisabledCssClass = "HeaderDisabledCssClass"; panelItem.SelectedCssClass = "HeaderSelectedCssClass"; } if (!String.IsNullOrEmpty(child["ImageCollapsed"])) { panelItem.ImageUrl = imagesBaseDir + child["ImageCollapsed"]; } else { panelItem.ImageUrl = imagesBaseDir + "blank" + (level - 1) + "x.gif"; } if (!String.IsNullOrEmpty(child["ImageExpanded"])) { panelItem.ExpandedImageUrl = imagesBaseDir + child["ImageExpanded"]; } if (!String.IsNullOrEmpty(child["ImageDisabled"])) { panelItem.DisabledImageUrl = imagesBaseDir + child["ImageDisabled"]; } if (!String.IsNullOrEmpty(child["ImageHoverCollapsed"])) { panelItem.HoveredImageUrl = imagesBaseDir + child["ImageHoverCollapsed"]; } panelItem.Text = child.Title; if (!String.IsNullOrEmpty(child["startPageUrl"])) { panelItem.Text += "</span></a><a plugin='lightbox' class='startPage' href='" + ResolveClientUrl(child["startPageUrl"]) + "?lightbox[iframe]=true' target='content'><span>"; } items.Add(panelItem); RecursivePopulatePanelbar(panelItem.PanelBar, panelItem.Items, child); if (String.IsNullOrEmpty(child.Url) && child.ChildNodes.Count > 0 && panelItem.Items.Count == 0) { panelItem.Visible = false; } } } level--; }