Exemple #1
0
 /// <summary> Handles the click to a WXE function command or a row menu. </summary>
 /// <include file='..\..\doc\include\UI\Controls\BocList.xml' path='BocList/OnRowMenuItemWxeFunctionCommandClick/*' />
 protected virtual void OnRowMenuItemWxeFunctionCommandClick(WebMenuItem menuItem, IBusinessObject businessObject, int listIndex)
 {
     if (menuItem != null && menuItem.Command != null)
     {
         if (menuItem is BocMenuItem)
         {
             BocMenuItemCommand command = (BocMenuItemCommand)menuItem.Command;
             if (Page is IWxePage)
             {
                 command.ExecuteWxeFunction((IWxePage)Page, new[] { listIndex }, new[] { businessObject });
             }
             //else
             //  command.ExecuteWxeFunction (Page, new int[1] {listIndex}, new IBusinessObject[1] {businessObject});
         }
         else
         {
             Command command = menuItem.Command;
             if (Page is IWxePage)
             {
                 command.ExecuteWxeFunction((IWxePage)Page, null);
             }
             //else
             //  command.ExecuteWxeFunction (Page, null, new NameValueCollection (0));
         }
     }
 }
        public override void OnMenuItemWxeFunctionCommandClick(WebMenuItem menuItem, WebTreeNode node)
        {
            if (menuItem != null && menuItem.Command != null)
            {
                if (menuItem is BocMenuItem)
                {
                    BocMenuItemCommand command        = (BocMenuItemCommand)menuItem.Command;
                    IBusinessObject    businessObject = null;
                    if (node is BusinessObjectTreeNode)
                    {
                        businessObject = ((BusinessObjectTreeNode)node).BusinessObject;
                    }

                    Page page = node.TreeView.Page;
                    if (page is IWxePage)
                    {
                        command.ExecuteWxeFunction((IWxePage)page, businessObject);
                    }
                    //else
                    //  command.ExecuteWxeFunction (Page, businessObject);
                }
                else
                {
                    base.OnMenuItemWxeFunctionCommandClick(menuItem, node);
                }
            }
        }
        protected override WebMenuItem[] InitializeRowMenuItems(IBusinessObject businessObject, int listIndex)
        {
            WebMenuItem[] baseMenuItems = base.InitializeRowMenuItems(businessObject, listIndex);

            WebMenuItem[] menuItems = new WebMenuItem[3];
            var           menuItem0 = new WebMenuItem();

            menuItem0.ItemID = listIndex.ToString() + "_0";
            menuItem0.Text   = menuItem0.ItemID;
            menuItems[0]     = menuItem0;

            var menuItem1 = new TestBocMenuItem(businessObject);

            menuItem1.ItemID = listIndex.ToString() + "_1";
            menuItem1.Text   = menuItem1.ItemID;
            menuItems[1]     = menuItem1;

            var menuItem2 = new WebMenuItem();

            menuItem2.ItemID = listIndex.ToString() + "_2";
            menuItem2.Text   = menuItem2.ItemID;
            menuItems[2]     = menuItem2;

            return(ArrayUtility.Combine(baseMenuItems, menuItems));
        }
        public static void HideMenuItems(WebMenuItemCollection menuItems, string[] hiddenItems)
        {
            ArgumentUtility.CheckNotNull("menuItems", menuItems);
            ArgumentUtility.CheckNotNull("hiddenItems", hiddenItems);

            for (int idxHiddenItems = 0; idxHiddenItems < hiddenItems.Length; idxHiddenItems++)
            {
                string itemID = hiddenItems[idxHiddenItems].Trim();
                if (itemID.Length == 0)
                {
                    continue;
                }

                bool   isSuffix     = itemID.IndexOf(".") == -1;
                string itemIDSuffix = null;
                if (isSuffix)
                {
                    itemIDSuffix = "." + itemID;
                }

                for (int idxItems = 0; idxItems < menuItems.Count; idxItems++)
                {
                    WebMenuItem menuItem = (WebMenuItem)menuItems[idxItems];
                    if (!menuItem.IsVisible)
                    {
                        continue;
                    }
                    if (string.IsNullOrEmpty(menuItem.ItemID))
                    {
                        continue;
                    }

                    if (isSuffix)
                    {
                        if (menuItem.ItemID.Length == itemID.Length)
                        {
                            if (menuItem.ItemID == itemID)
                            {
                                menuItem.IsVisible = false;
                            }
                        }
                        else
                        {
                            if (menuItem.ItemID.EndsWith(itemIDSuffix))
                            {
                                menuItem.IsVisible = false;
                            }
                        }
                    }
                    else
                    {
                        if (menuItem.ItemID == itemID)
                        {
                            menuItem.IsVisible = false;
                        }
                    }
                }
            }
        }
        private void RegisterMenuItems(DropDownMenuRenderingContext renderingContext)
        {
            string key = renderingContext.Control.UniqueID;

            if (renderingContext.Control.Enabled && !renderingContext.Control.Page.ClientScript.IsStartupScriptRegistered(typeof(DropDownMenuQuirksModeRenderer), key))
            {
                StringBuilder script = new StringBuilder();
                script.Append("DropDownMenu_AddMenuInfo" + " (\r\n\t");
                script.AppendFormat("new DropDownMenu_MenuInfo ('{0}', new Array (\r\n", renderingContext.Control.ClientID);
                bool isFirstItem = true;

                WebMenuItem[] menuItems;
                if (renderingContext.Control.EnableGrouping)
                {
                    menuItems = renderingContext.Control.MenuItems.GroupMenuItems(true);
                }
                else
                {
                    menuItems = renderingContext.Control.MenuItems.ToArray();
                }

                string category          = null;
                bool   isCategoryVisible = false;
                for (int i = 0; i < menuItems.Length; i++)
                {
                    WebMenuItem menuItem = menuItems[i];
                    if (renderingContext.Control.EnableGrouping && category != menuItem.Category)
                    {
                        category          = menuItem.Category;
                        isCategoryVisible = false;
                    }
                    if (!menuItem.EvaluateVisible())
                    {
                        continue;
                    }
                    if (renderingContext.Control.EnableGrouping && menuItem.IsSeparator && !isCategoryVisible)
                    {
                        continue;
                    }
                    if (renderingContext.Control.EnableGrouping)
                    {
                        isCategoryVisible = true;
                    }
                    if (isFirstItem)
                    {
                        isFirstItem = false;
                    }
                    else
                    {
                        script.AppendFormat(",\r\n");
                    }
                    AppendMenuItem(renderingContext, script, menuItem, renderingContext.Control.MenuItems.IndexOf(menuItem));
                }
                script.Append(" )");  // Close Array
                script.Append(" )");  // Close new MenuInfo
                script.Append(" );"); // Close AddMenuInfo
                renderingContext.Control.Page.ClientScript.RegisterStartupScriptBlock(renderingContext.Control, typeof(DropDownMenuQuirksModeRenderer), key, script.ToString());
            }
        }
        private void AssertIconAndText(int itemIndex, XmlNode td, WebMenuItem item, int nodeIndex)
        {
            XmlNode a = GetAssertedItemLink(td, itemIndex, nodeIndex);

            AssertIcon(a);

            a.AssertTextNode(HtmlHelper.WhiteSpace + item.Text, 1);
        }
 protected override void OnRowMenuItemEventCommandClick(WebMenuItem menuItem, IBusinessObject businessObject, int listIndex)
 {
     base.OnRowMenuItemEventCommandClick(menuItem, businessObject, listIndex);
     if (RowMenuItemClick != null)
     {
         RowMenuItemClick(menuItem, new BocListItemEventArgs(listIndex, businessObject));
     }
 }
        private WebMenuItem CreateWebMenuItem()
        {
            WebMenuItem menuItem = CreateWebMenuItemWithoutCommand();

            menuItem.Command = _mockCommand;
            _mocks.BackToRecordAll();

            return(menuItem);
        }
        public void EvaluateFalse_FromFalseAndWithCommandSetNull()
        {
            WebMenuItem menuItem = CreateWebMenuItemWithoutCommand();

            menuItem.IsVisible = false;

            bool isVisible = menuItem.EvaluateVisible();

            Assert.That(isVisible, Is.False);
        }
        public void EvaluateFalse_FromFalseAndWithCommandSetNull()
        {
            WebMenuItem menuItem = CreateWebMenuItemWithoutCommand();

            menuItem.IsDisabled = true;

            bool isEnabled = menuItem.EvaluateEnabled();

            Assert.That(isEnabled, Is.False);
        }
        public void EvaluateTrue_FromTrueAndWithCommandSetNull()
        {
            WebMenuItem menuItem = CreateWebMenuItemWithoutCommand();

            menuItem.IsVisible = true;

            bool isVisible = menuItem.EvaluateVisible();

            Assert.That(isVisible, Is.True);
        }
        private WebMenuItem CreateWebMenuItemWithoutCommand()
        {
            WebMenuItem menuItem = new WebMenuItem();

            menuItem.Command.Type = CommandType.None;
            menuItem.Command      = null;
            menuItem.MissingPermissionBehavior = MissingPermissionBehavior.Disabled;
            menuItem.SecurableObject           = _mockSecurableObject;

            return(menuItem);
        }
Exemple #13
0
        private static WebMenuItem Create(IDataReader reader)
        {
            WebMenuItem webMenuItem = new WebMenuItem();

            webMenuItem.set_ID((int)reader["MenuItemID"]);
            webMenuItem.set_Title((string)reader["Title"]);
            webMenuItem.set_Link((string)reader["Link"]);
            webMenuItem.set_NewWindow((string)reader["NewWindow"] == "Y");
            webMenuItem.set_Description((string)reader["Description"]);
            return(webMenuItem);
        }
Exemple #14
0
 public static int InsertItem(WebMenuItem item)
 {
     using (SqlCommand textCommand = SqlHelper.GetTextCommand("INSERT MenuItems (Title, Link, System, NewWindow, Description)\r\nVALUES (@title, @link, 'N', @newwindow, @description)\r\nSELECT scope_identity()"))
     {
         textCommand.Parameters.AddWithValue("title", (object)item.get_Title());
         textCommand.Parameters.AddWithValue("link", (object)item.get_Link());
         textCommand.Parameters.AddWithValue("newwindow", item.get_NewWindow() ? (object)"Y" : (object)"N");
         textCommand.Parameters.AddWithValue("description", (object)item.get_Description());
         return(Convert.ToInt32(SqlHelper.ExecuteScalar(textCommand)));
     }
 }
Exemple #15
0
        public override WebMenuItem[] InitalizeMenuItems(WebTreeNode node)
        {
            var menuItem = new WebMenuItem
            {
                ItemID            = "MenuItem",
                RequiredSelection = RequiredSelection.Any,
                Text    = "Event",
                Command = { Type = CommandType.Event }
            };

            return(new[] { menuItem });
        }
        public void EvaluateFalse_FromFalse()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.IsDisabled = true;
            _mocks.ReplayAll();

            bool isEnabled = menuItem.EvaluateEnabled();

            _mocks.VerifyAll();
            Assert.That(isEnabled, Is.False);
        }
        public void EvaluateFalse_FromFalse()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.IsVisible = false;
            _mocks.ReplayAll();

            bool isVisible = menuItem.EvaluateVisible();

            _mocks.VerifyAll();
            Assert.That(isVisible, Is.False);
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            UpdateStatus(null);

            WebMenuItem menuItem = new WebMenuItem();

            menuItem.ItemID = "Item" + PostBackCount;
            menuItem.Text   = "Item " + PostBackCount;
            DropDownMenuInsideUpdatePanel.MenuItems.Add(menuItem);
        }
        public void EvaluateFalse_FromTrueAndWithAccessDenied()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.IsDisabled = false;
            Expect.Call(_mockCommand.HasAccess(_mockSecurableObject)).Return(false);
            _mocks.ReplayAll();

            bool isEnabled = menuItem.EvaluateEnabled();

            _mocks.VerifyAll();
            Assert.That(isEnabled, Is.False);
        }
        public void EvaluateTrue_FromTrueAndWithAccessGranted()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.IsVisible = true;
            Expect.Call(_mockCommand.HasAccess(_mockSecurableObject)).Return(true);
            _mocks.ReplayAll();

            bool isVisible = menuItem.EvaluateVisible();

            _mocks.VerifyAll();
            Assert.That(isVisible, Is.True);
        }
Exemple #21
0
        public void Render(ListMenuRenderingContext renderingContext)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);

            RegisterMenuItems(renderingContext);

            WebMenuItem[] groupedListMenuItems = renderingContext.Control.MenuItems.GroupMenuItems(false).Where(mi => mi.EvaluateVisible()).ToArray();

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.ClientID);
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0");
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Table);
            bool isFirstItem = true;

            for (int idxItems = 0; idxItems < groupedListMenuItems.Length; idxItems++)
            {
                WebMenuItem currentItem = groupedListMenuItems[idxItems];
                if (!currentItem.EvaluateVisible())
                {
                    continue;
                }

                bool isLastItem            = (idxItems == (groupedListMenuItems.Length - 1));
                bool isFirstCategoryItem   = (isFirstItem || (groupedListMenuItems[idxItems - 1].Category != currentItem.Category));
                bool isLastCategoryItem    = (isLastItem || (groupedListMenuItems[idxItems + 1].Category != currentItem.Category));
                bool hasAlwaysLineBreaks   = (renderingContext.Control.LineBreaks == ListMenuLineBreaks.All);
                bool hasCategoryLineBreaks = (renderingContext.Control.LineBreaks == ListMenuLineBreaks.BetweenGroups);

                if (hasAlwaysLineBreaks || (hasCategoryLineBreaks && isFirstCategoryItem) || isFirstItem)
                {
                    renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                    renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
                    renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, "listMenuRow");
                    renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                }
                RenderListMenuItem(renderingContext, currentItem, renderingContext.Control.MenuItems.IndexOf(currentItem));
                if (hasAlwaysLineBreaks || (hasCategoryLineBreaks && isLastCategoryItem) || isLastItem)
                {
                    renderingContext.Writer.RenderEndTag();
                    renderingContext.Writer.RenderEndTag();
                }

                if (isFirstItem)
                {
                    isFirstItem = false;
                }
            }
            renderingContext.Writer.RenderEndTag();
        }
        // Token: 0x06000883 RID: 2179 RVA: 0x0003E260 File Offset: 0x0003C460
        public static int InsertItem(WebMenuItem item)
        {
            int result;

            using (SqlCommand textCommand = SqlHelper.GetTextCommand("INSERT MenuItems (Title, Link, System, NewWindow, Description)\r\nVALUES (@title, @link, 'N', @newwindow, @description)\r\nSELECT scope_identity()"))
            {
                textCommand.Parameters.AddWithValue("title", item.Title);
                textCommand.Parameters.AddWithValue("link", item.Link);
                textCommand.Parameters.AddWithValue("newwindow", item.NewWindow ? "Y" : "N");
                textCommand.Parameters.AddWithValue("description", item.Description);
                result = Convert.ToInt32(SqlHelper.ExecuteScalar(textCommand));
            }
            return(result);
        }
 public override void OnMenuItemEventCommandClick(WebMenuItem menuItem, WebTreeNode node)
 {
     if (menuItem != null && menuItem.Command != null)
     {
         if (menuItem is BocMenuItem)
         {
             ((BocMenuItemCommand)menuItem.Command).OnClick((BocMenuItem)menuItem);
         }
         else
         {
             base.OnMenuItemEventCommandClick(menuItem, node);
         }
     }
 }
        public void EvaluateTrue_FromTrueAndWithMissingPermissionBehaviorSetToDisabled()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.MissingPermissionBehavior = MissingPermissionBehavior.Disabled;
            menuItem.IsVisible = true;
            Expect.Call(_mockCommand.HasAccess(_mockSecurableObject)).Repeat.Never();
            _mocks.ReplayAll();

            bool isVisible = menuItem.EvaluateVisible();

            _mocks.VerifyAll();
            Assert.That(isVisible, Is.True);
        }
        public void EvaluateFalse_FromFalseAndWithMissingPermissionBehaviorSetToInvisible()
        {
            WebMenuItem menuItem = CreateWebMenuItem();

            menuItem.MissingPermissionBehavior = MissingPermissionBehavior.Invisible;
            menuItem.IsDisabled = true;
            Expect.Call(_mockCommand.HasAccess(_mockSecurableObject)).Repeat.Never();
            _mocks.ReplayAll();

            bool isEnabled = menuItem.EvaluateEnabled();

            _mocks.VerifyAll();
            Assert.That(isEnabled, Is.False);
        }
Exemple #26
0
 /// <summary> Handles the click on an Event command of a row menu. </summary>
 /// <include file='..\..\doc\include\UI\Controls\BocList.xml' path='BocList/OnRowMenuItemEventCommandClick/*' />
 protected virtual void OnRowMenuItemEventCommandClick(WebMenuItem menuItem, IBusinessObject businessObject, int listIndex)
 {
     if (menuItem != null && menuItem.Command != null)
     {
         if (menuItem is BocMenuItem)
         {
             ((BocMenuItemCommand)menuItem.Command).OnClick((BocMenuItem)menuItem);
         }
         else
         {
             menuItem.Command.OnClick();
         }
     }
 }
Exemple #27
0
        private void RegisterMenuItems(ListMenuRenderingContext renderingContext)
        {
            if (!renderingContext.Control.HasClientScript)
            {
                return;
            }

            WebMenuItem[] groupedListMenuItems = renderingContext.Control.MenuItems.GroupMenuItems(false);

            string key = renderingContext.Control.UniqueID + "_MenuItems";

            if (!renderingContext.Control.Page.ClientScript.IsStartupScriptRegistered(typeof(ListMenuRenderer), key))
            {
                StringBuilder script = new StringBuilder();
                script.AppendFormat("ListMenu_AddMenuInfo (document.getElementById ('{0}'), \r\n\t", renderingContext.Control.ClientID);
                script.AppendFormat("new ListMenu_MenuInfo ('{0}', new Array (\r\n", renderingContext.Control.ClientID);
                bool isFirstItemInGroup = true;

                for (int idxItems = 0; idxItems < groupedListMenuItems.Length; idxItems++)
                {
                    WebMenuItem currentItem = groupedListMenuItems[idxItems];
                    if (!currentItem.EvaluateVisible())
                    {
                        continue;
                    }

                    if (isFirstItemInGroup)
                    {
                        isFirstItemInGroup = false;
                    }
                    else
                    {
                        script.AppendFormat(",\r\n");
                    }
                    AppendListMenuItem(renderingContext, script, currentItem);
                }
                script.Append(" )");      // Close Array
                script.Append(" )");      // Close new MenuInfo
                script.Append(" );\r\n"); // Close AddMenuInfo

                script.Append(renderingContext.Control.GetUpdateScriptReference("null"));

                renderingContext.Control.Page.ClientScript.RegisterStartupScriptBlock(
                    renderingContext.Control,
                    typeof(ListMenuRenderer),
                    key,
                    script.ToString());
            }
        }
        private void AddMenuItem(string itemID, string category, string text, WebMenuItemStyle style, RequiredSelection selection, CommandType commandType)
        {
            WebMenuItem item = new WebMenuItem(
                itemID,
                category,
                text,
                new IconInfo("~/Images/ClassicBlue/NullIcon.gif"),
                new IconInfo("~/Images/ClassicBlue/NullIcon.gif"),
                style,
                selection,
                false,
                new Command(commandType));

            _control.MenuItems.Add(item);
        }
Exemple #29
0
        protected override WebMenuItem[] InitializeRowMenuItems(IBusinessObject businessObject, int listIndex)
        {
            var baseRowMenuItems = base.InitializeRowMenuItems(businessObject, listIndex);

            var rowMenuItems = new WebMenuItem[2];

            rowMenuItems[0] = new WebMenuItem {
                ItemID = "RowMenuItemCmd1", Text = "Row menu 1"
            };
            rowMenuItems[1] = new WebMenuItem {
                ItemID = "RowMenuItemCmd2", Text = "Row menu 2"
            };

            return(ArrayUtility.Combine(baseRowMenuItems, rowMenuItems));
        }
Exemple #30
0
        private void RenderListMenuItem(ListMenuRenderingContext renderingContext, WebMenuItem menuItem, int index)
        {
            bool showIcon = menuItem.Style == WebMenuItemStyle.Icon || menuItem.Style == WebMenuItemStyle.IconAndText;
            bool showText = menuItem.Style == WebMenuItemStyle.Text || menuItem.Style == WebMenuItemStyle.IconAndText;

            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, GetMenuItemClientID(renderingContext, index));
            renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, "listMenuItem");
            if (IsDiagnosticMetadataRenderingEnabled)
            {
                RenderDiagnosticMetadataAttributesForListMenuItem(renderingContext, menuItem);
            }
            renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span);

            var command = !menuItem.IsDisabled ? menuItem.Command : new Command(CommandType.None)
            {
                OwnerControl = menuItem.OwnerControl
            };

            if (string.IsNullOrEmpty(command.ItemID))
            {
                command.ItemID = "MenuItem_" + index + "_Command";
            }

            command.RenderBegin(
                renderingContext.Writer,
                RenderingFeatures,
                renderingContext.Control.Page.ClientScript.GetPostBackClientHyperlink(renderingContext.Control, index.ToString()),
                new[] { index.ToString() },
                "",
                null);

            if (showIcon && menuItem.Icon.HasRenderingInformation)
            {
                menuItem.Icon.Render(renderingContext.Writer, renderingContext.Control);
                if (showText)
                {
                    renderingContext.Writer.Write(c_whiteSpace);
                }
            }
            if (showText)
            {
                renderingContext.Writer.Write(menuItem.Text); // Do not HTML encode.
            }
            command.RenderEnd(renderingContext.Writer);
            renderingContext.Writer.RenderEndTag();
        }