Beispiel #1
0
        private static Control CreateLinkAsListItem(Micajah.Common.Bll.Action action, string cssClass)
        {
            bool moderTheme = (FrameworkConfiguration.Current.WebApplication.MasterPage.Theme == MasterPageTheme.Modern);

            using (HtmlGenericControl li = new HtmlGenericControl("li"))
            {
                if (!string.IsNullOrEmpty(cssClass))
                {
                    li.Attributes["class"] = cssClass;
                }
                li.Controls.Add(Submenu.CreateLink(action, moderTheme));
                return(li);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Creates child controls.
        /// </summary>
        protected override void CreateChildControls()
        {
            this.Controls.Clear();

            if (this.Items.Count == 0)
            {
                return;
            }

            HtmlGenericControl mainContainer  = null;
            HtmlGenericControl container      = null;
            HtmlGenericControl innerContainer = null;
            HtmlGenericControl bar            = null;
            HtmlGenericControl ul             = null;
            HtmlGenericControl p           = null;
            ControlList        controlList = null;
            Control            itemLink    = null;
            Guid mainMenuItemId            = this.SelectedActionId;

            try
            {
                mainContainer = new HtmlGenericControl("div");
                mainContainer.Attributes["class"] = "Mp_Mm";
                this.Controls.Add(mainContainer);

                MasterPageTheme theme = FrameworkConfiguration.Current.WebApplication.MasterPage.Theme;

                switch (theme)
                {
                case MasterPageTheme.Gradient:
                case MasterPageTheme.StandardTabs:
                case MasterPageTheme.Modern:
                    ul = new HtmlGenericControl("ul");

                    string cssClass = null;

                    if (theme == MasterPageTheme.Modern)
                    {
                        p = new HtmlGenericControl("p");
                        p.Attributes["class"] = "mobile-nav";
                        p.InnerHtml           = Resources.MainMenu_MenuLink_Text;

                        innerContainer = new HtmlGenericControl("div");
                        innerContainer.Attributes["class"] = "col-sm-12";
                        innerContainer.Controls.Add(p);
                        innerContainer.Controls.Add(ul);

                        container = new HtmlGenericControl("div");
                        container.Attributes["class"] = "container";
                        container.Controls.Add(innerContainer);

                        mainContainer.Controls.Add(container);

                        cssClass = "active";
                    }
                    else
                    {
                        mainContainer.Controls.Add(ul);

                        cssClass = "S";
                    }

                    foreach (Micajah.Common.Bll.Action item in this.Items)
                    {
                        if (item.ActionId == ActionProvider.StartPageActionId)
                        {
                            bool redirect = false;

                            Micajah.Common.WebControls.AdminControls.StartControl.GetStartMenuCheckedItems(m_UserContext, out redirect);

                            if (redirect)
                            {
                                continue;
                            }
                        }

                        ul.Controls.Add(CreateLinkAsListItem(item, ((item.ActionId == mainMenuItemId) ? cssClass : null)));
                    }

                    if (theme != MasterPageTheme.Modern)
                    {
                        bar = new HtmlGenericControl("div");
                        bar.Attributes["class"] = "Mp_Mmb";

                        this.Controls.Add(bar);
                    }
                    break;

                case MasterPageTheme.Standard:
                    controlList           = new ControlList();
                    controlList.Delimiter = " &nbsp; | &nbsp; ";

                    foreach (Micajah.Common.Bll.Action item in this.Items)
                    {
                        if (item.ActionId == ActionProvider.StartPageActionId)
                        {
                            bool redirect = false;

                            Micajah.Common.WebControls.AdminControls.StartControl.GetStartMenuCheckedItems(m_UserContext, out redirect);

                            if (redirect)
                            {
                                continue;
                            }
                        }

                        itemLink = Submenu.CreateLink(item, ((item.ActionId == mainMenuItemId) ? "S" : null), false);

                        controlList.Add(itemLink);
                    }

                    mainContainer.Controls.Add(controlList);
                    break;
                }
            }
            finally
            {
                if (ul != null)
                {
                    ul.Dispose();
                }

                if (mainContainer != null)
                {
                    mainContainer.Dispose();
                }

                if (bar != null)
                {
                    bar.Dispose();
                }

                if (container != null)
                {
                    container.Dispose();
                }

                if (innerContainer != null)
                {
                    innerContainer.Dispose();
                }

                if (p != null)
                {
                    p.Dispose();
                }

                if (controlList != null)
                {
                    controlList.Dispose();
                }

                if (itemLink != null)
                {
                    itemLink.Dispose();
                }
            }
        }