/// <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); }
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); }
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))); } }
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); }
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); }
/// <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(); } } }
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); }
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)); }
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(); }