Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
        }