private void bindCssForm(String name) { ContentApp app = ctx.app.obj as ContentApp; Dictionary <string, Dictionary <string, string> > dic = Css.FromAndFill(app.Style); Dictionary <string, string> values = dic.ContainsKey(name) ? dic[name] : CssInfo.GetEmptyValues(); ctx.SetItem("cssValues", values); load("cssForm", CssForm); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); EnsureChildControls(); // Cached menus are already Loaded if (_cached) { return; } DbContentCatalog rootCatalog; DbContentClipCollection rootCatalogClips; CssInfo rootCssInfo; // Load the catalog to start building a menu from rootCatalog = new DbContentCatalog(_catalogID); rootCatalogClips = rootCatalog.GetClips(); rootCatalogClips.Sort(ContentCompareKey.MenuOrder); // Set menu css to catalog css properties rootCssInfo = new CssInfo(rootCatalog.MenuCssClass); rootCssInfo.SetLook(_menu); DbContentCatalogCollection catalogs = rootCatalog.GetCatalogs(); catalogs.Sort(ContentCompareKey.MenuOrder); for (int catalogIndex = 0; catalogIndex < catalogs.Count; catalogIndex++) { addCatalogToMenu(_menu.Items, rootCatalog, catalogs[catalogIndex]); } addClipsToMenu(_menu.Items, rootCatalog, rootCatalog, rootCatalogClips); _menu.Width = _width; MenuCacheControl.SetMenu(_catalogID, _linkFormat, _menu); }
private void addCatalogToSiteMap(SiteMapNodeCollection parentNodeCollection, DbContentCatalog rootCatalog, DbContentCatalog catalog) { if (!catalog.Enabled || !catalog.MenuEnabled) { return; } DbContentClipCollection clips; SiteMapNode catalogMenuNode; IconInfo leftIconInfo, rightIconInfo; CssInfo catalogCssInfo; clips = catalog.GetMenuEnabledClips(); clips.Sort(ContentCompareKey.MenuOrder); catalogMenuNode = new SiteMapNode(); parentNodeCollection.Add(catalogMenuNode); catalogMenuNode.Text = catalog.MenuLabel; catalogMenuNode.ToolTip = catalog.MenuTooltip; if (catalog.DefaultClip != null) { if (catalog.DefaultClip.OverrideUrl != string.Empty) { catalogMenuNode.NavigateUrl = catalog.DefaultClip.OverrideUrl; } else { catalogMenuNode.NavigateUrl = string.Format(_linkFormat, catalog.DefaultClip.ID); } catalogMenuNode.ID = catalog.DefaultClip.ID.ToString(); } if (catalog.MenuCssClass == "[rootcatalog]") { catalogCssInfo = new CssInfo(rootCatalog.MenuCssClass); } else { catalogCssInfo = new CssInfo(catalog.MenuCssClass); } if (catalog.MenuLeftIcon == "[rootcatalog]") { leftIconInfo = new IconInfo(rootCatalog.MenuLeftIcon); } else { leftIconInfo = new IconInfo(catalog.MenuLeftIcon); } if (catalog.MenuRightIcon == "[rootcatalog]") { rightIconInfo = new IconInfo(rootCatalog.MenuRightIcon); } else { rightIconInfo = new IconInfo(catalog.MenuRightIcon); } DbContentCatalogCollection childCatalogs = catalog.GetCatalogs(); childCatalogs.Sort(ContentCompareKey.MenuOrder); foreach (DbContentCatalog childCatalog in childCatalogs) { addCatalogToSiteMap(catalogMenuNode.Nodes, rootCatalog, childCatalog); } addClipsToSiteMap(catalogMenuNode.Nodes, rootCatalog, catalog, clips); }
private void addClipsToMenu(ComponentArt.Web.UI.MenuItemCollection parentItems, DbContentCatalog rootCatalog, DbContentCatalog catalog, DbContentClipCollection clips) { foreach (DbContentClip clip in clips) { if (!clip.MenuEnabled | clip.ExpirationDate <= DateTime.Now | clip.PublishDate > DateTime.Now) { continue; } // Check for a break and use the current catalog's _menu break system if (clip.MenuBreak) { ComponentArt.Web.UI.MenuItem menuBreak = new ComponentArt.Web.UI.MenuItem(); menuBreak.Look.ImageUrl = rootCatalog.MenuBreakImage; menuBreak.Look.CssClass = rootCatalog.MenuBreakCssClass; menuBreak.Look.ImageHeight = Unit.Pixel(2); menuBreak.Look.ImageWidth = Unit.Percentage(100); parentItems.Add(menuBreak); } ComponentArt.Web.UI.MenuItem clipMenuItem = new ComponentArt.Web.UI.MenuItem(); IconInfo leftIconInfo, rightIconInfo; CssInfo clipCssInfo; clipMenuItem.ID = clip.ID.ToString(); #if DEBUG clipMenuItem.Text = clip.MenuLabel + " (" + clip.MenuOrder.ToString() + ")"; #else clipMenuItem.Text = clip.MenuLabel; #endif if (clip.OverrideUrl != string.Empty) { clipMenuItem.NavigateUrl = clip.OverrideUrl; } else { clipMenuItem.NavigateUrl = Page.ResolveUrl(string.Format(_linkFormat, clip.ID.ToString())); } clipMenuItem.ToolTip = clip.MenuTooltip; if (catalog.MenuCssClass == "[rootcatalog]" | catalog.MenuCssClass == "") { clipCssInfo = new CssInfo(rootCatalog.MenuCssClass); } else { clipCssInfo = new CssInfo(catalog.MenuCssClass); } clipCssInfo.SetLook(clipMenuItem); if (clip.MenuLeftIcon == "[rootcatalog]") { leftIconInfo = new IconInfo(rootCatalog.MenuLeftIcon); } else if (clip.MenuLeftIcon == "[catalog]") { leftIconInfo = new IconInfo(catalog.MenuLeftIcon); } else { leftIconInfo = new IconInfo(clip.MenuLeftIcon); } leftIconInfo.SetLeftLook(clipMenuItem); if (clip.MenuRightIcon == "[rootcatalog]") { rightIconInfo = new IconInfo(rootCatalog.MenuRightIcon); } else if (clip.MenuRightIcon == "[catalog]") { rightIconInfo = new IconInfo(catalog.MenuRightIcon); } else { rightIconInfo = new IconInfo(clip.MenuRightIcon); } rightIconInfo.SetRightLook(clipMenuItem); parentItems.Add(clipMenuItem); } }
private void addCatalogToMenu(ComponentArt.Web.UI.MenuItemCollection parentItemCollection, DbContentCatalog rootCatalog, DbContentCatalog catalog) { if (!catalog.Enabled || !catalog.MenuEnabled) { return; } DbContentClipCollection clips; ComponentArt.Web.UI.MenuItem catalogMenuItem; IconInfo leftIconInfo, rightIconInfo; CssInfo catalogCssInfo; clips = catalog.GetMenuEnabledClips(); clips.Sort(ContentCompareKey.MenuOrder); catalogMenuItem = new ComponentArt.Web.UI.MenuItem(); parentItemCollection.Add(catalogMenuItem); catalogMenuItem.Text = catalog.MenuLabel; catalogMenuItem.ToolTip = catalog.MenuTooltip; if (catalog.DefaultClip != null) { if (catalog.DefaultClip.OverrideUrl != string.Empty) { catalogMenuItem.NavigateUrl = catalog.DefaultClip.OverrideUrl; } else { catalogMenuItem.NavigateUrl = string.Format(_linkFormat, catalog.DefaultClip.ID); } catalogMenuItem.ID = catalog.DefaultClip.ID.ToString(); } if (catalog.MenuCssClass == "[rootcatalog]" | catalog.MenuCssClass == "") { catalogCssInfo = new CssInfo(rootCatalog.MenuCssClass); } else { catalogCssInfo = new CssInfo(catalog.MenuCssClass); } if (catalog.MenuLeftIcon == "[rootcatalog]" | catalog.MenuCssClass == "") { leftIconInfo = new IconInfo(rootCatalog.MenuLeftIcon); } else { leftIconInfo = new IconInfo(catalog.MenuLeftIcon); } if (catalog.MenuRightIcon == "[rootcatalog]" | catalog.MenuCssClass == "") { rightIconInfo = new IconInfo(rootCatalog.MenuRightIcon); } else { rightIconInfo = new IconInfo(catalog.MenuRightIcon); } catalogCssInfo.SetLook(catalogMenuItem); leftIconInfo.SetLeftLook(catalogMenuItem); rightIconInfo.SetRightLook(catalogMenuItem); DbContentCatalogCollection childCatalogs = catalog.GetCatalogs();; childCatalogs.Sort(ContentCompareKey.SortOrder); foreach (DbContentCatalog childCatalog in childCatalogs) { addCatalogToMenu(catalogMenuItem.Items, rootCatalog, childCatalog); } addClipsToMenu(catalogMenuItem.Items, rootCatalog, catalog, clips); }