Example #1
0
            /// <summary>
            /// Добавя поделементите
            /// </summary>
            private bool AddSubItems
            (
                StringBuilder subMenu,
                int currentIndex,       // текущ индекс
                int parentID            // текущ родител
            )
            {
                bool isSelected = false;

                for (int i = currentIndex; i < this.AppMenu.Count; i++)
                {
                    AppMenuItemModel item = this.AppMenu[i];
                    if (item.ParentID == parentID)
                    {
                        // Добавя елемента
                        if (AddItem(subMenu, item, i))
                        {
                            isSelected = true;
                        }
                    }
                    else
                    {
                        return(isSelected);
                    }
                }
                return(isSelected);
            }
Example #2
0
            public string Generate()
            {
                StringBuilder sbMenu = new StringBuilder();

                // Начало на менюто
                sbMenu.Append("<" + this.GroupName + ((this.CSSMenu == "") ? "" : " class='" + this.CSSMenu + "'") + ">");
                for (index = 0; index < this.AppMenu.Count; index++)
                {
                    AppMenuItemModel item = this.AppMenu[index];
                    AddItem(sbMenu, item, index);
                }
                // Край на менюто
                sbMenu.Append("</" + this.GroupName + ">");
                return(sbMenu.ToString());
            }
Example #3
0
            private bool AddItem(StringBuilder menu, AppMenuItemModel item, int i)
            {
                bool isSelected = false;

                // Проверява дали е селектиран
                if (this.CSSGroupSelected != "")
                {
                    if (item.ItemTypeID == 3)
                    {
                        if (("Page" == AdminHelpers.CurrentController(_Helper)) &&
                            (item.PageName == AdminHelpers.CurrentId(_Helper)))
                        {
                            isSelected = true;
                        }
                    }
                }
                // Добавя елемента
                menu.Append("<" +
                            this.ItemName +
                            (this.IsItemID ? " id=\"item_" + item.ItemID.ToString() + "\"" : "") +
                            ((this.CSSItem == "") ? "" : " class=\"" + this.CSSItem + "\"") +
                            ">");
                menu.Append(GetItem(item, isSelected));
                // Става текущ елемент
                index = i;
                // Добавя под елементите
                StringBuilder subMenu = new StringBuilder();

                if (AddSubItems(subMenu, i + 1, item.ItemID))
                {
                    isSelected = true;
                }
                if (subMenu.Length > 0)
                {
                    string selectedClass = (isSelected ? " class='" + this.CSSItemSelected + "'" : "");
                    menu.Append("<" + this.GroupName + selectedClass + ">");
                    menu.Append(subMenu);
                    menu.Append("</" + this.GroupName + ">");
                }
                subMenu.Clear();
                // Край на елемента
                menu.Append("</" + this.ItemName + ">");

                return(isSelected);
            }
Example #4
0
            /// <summary>
            /// Дава стойноста на елемента в зависимост от типа
            /// </summary>
            private string GetItem(AppMenuItemModel item, bool isSelected)
            {
                string itemValue = "";

                // Ако елемента е линк
                if (this.IsItemLink)
                {
                    object htmlAttributes = null;
                    if (isSelected)
                    {
                        htmlAttributes = new { @class = this.CSSGroupSelected };
                    }

                    // MVC Link
                    if (item.ItemTypeID == 1)
                    {
                        itemValue = Html.LinkExtensions.ActionLink(_Helper, item.ItemText, item.LinkAction, item.LinkController, new { area = item.LinkArea }, htmlAttributes).ToString();
                    }
                    // Page: Странница от базата
                    else if (item.ItemTypeID == 3)
                    {
                        itemValue = Html.LinkExtensions.ActionLink(_Helper, item.ItemText, item.PageName, "Page", null, htmlAttributes).ToString();
                    }
                    else
                    {
                        itemValue = item.ItemText;
                    }
                }
                // елемента не е линк
                else
                {
                    if (ItemFormat == "")
                    {
                        itemValue = item.ItemText;
                    }
                    else
                    {
                        itemValue = string.Format(this.ItemFormat, item.ItemText);
                    }
                }
                return(itemValue);
            }