Beispiel #1
0
        //TODO: Mark obsolete when Menus refactoring complete
        //[Obsolete("Add CustomMenuItems into an IMenu directly when constructing menus")]
        public static MvcHtmlString Service(this HtmlHelper html, object service, params CustomMenuItem[] menuItems)
        {
            var nakedObject = html.Facade().GetObject(service);

            return(CommonHtmlHelper.BuildMenuContainer(html.ObjectActions(nakedObject, false, menuItems),
                                                       IdConstants.MenuContainerName,
                                                       html.IdHelper().GetServiceContainerId(nakedObject),
                                                       nakedObject.TitleString));
        }
Beispiel #2
0
        //TODO: Mark obsolete when Menus refactoring complete
        //[Obsolete("Add CustomMenuItems into an IMenu directly when constructing menus")]
        public static MvcHtmlString Service(this HtmlHelper html, object service, params CustomMenuItem[] menuItems)
        {
            INakedObject nakedObject = html.Framework().GetNakedObject(service);

            return(CommonHtmlHelper.BuildMenuContainer(html.ObjectActions(nakedObject, false, menuItems),
                                                       IdHelper.MenuContainerName,
                                                       IdHelper.GetServiceContainerId(nakedObject),
                                                       nakedObject.TitleString()));
        }
Beispiel #3
0
        private static MvcHtmlString MenuAsHtml(this HtmlHelper html, IMenuFacade menu, IObjectFacade nakedObject, bool isEdit, bool defaultToEmptyMenu)
        {
            var descriptors = new List <ElementDescriptor>();

            foreach (IMenuItemFacade item in menu.MenuItems)
            {
                ElementDescriptor descriptor;

                if (IsDuplicateAndIsVisibleActions(html, item, menu.MenuItems, nakedObject))
                {
                    //Test that both items are in fact visible
                    //The Id is set just to preseve backwards compatiblity
                    string id = menu.Id;
                    if (id.EndsWith("Actions"))
                    {
                        id = id.Split('-').First() + "-DuplicateAction";
                    }
                    descriptor = new ElementDescriptor {
                        TagType    = "div",
                        Value      = item.Name,
                        Attributes = new RouteValueDictionary(new {
                            id,
                            @class = IdConstants.ActionName,
                            title  = MvcUi.DuplicateAction
                        })
                    };
                }
                else
                {
                    descriptor = MenuItemAsElementDescriptor(html, item, nakedObject, isEdit);
                }

                if (descriptor != null)
                {
                    //Would be null for an invisible action
                    descriptors.Add(descriptor);
                }
            }
            if (descriptors.Count == 0 && !defaultToEmptyMenu)
            {
                return(null);
            }
            return(CommonHtmlHelper.BuildMenuContainer(descriptors,
                                                       IdConstants.MenuContainerName,
                                                       menu.Id,
                                                       menu.Name));
        }