Back to Devexpress

HtmlEditorContextMenuItemCollection.CreateDefaultItems() Method

aspnet-devexpress-dot-web-dot-aspxhtmleditor-dot-htmleditorcontextmenuitemcollection-a8ebfc16.md

latest3.8 KB
Original Source

HtmlEditorContextMenuItemCollection.CreateDefaultItems() Method

Populates the context menu with default items.

Namespace : DevExpress.Web.ASPxHtmlEditor

Assembly : DevExpress.Web.ASPxHtmlEditor.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public void CreateDefaultItems()
vb
Public Sub CreateDefaultItems

Remarks

Use the CreateDefaultItems method, to manually create default context menu items within the HtmlEditorContextMenuItemCollection.

Custom items can be added to the HtmlEditorContextMenuItemCollection collection using the collection’s HtmlEditorContextMenuItemCollection.Add or Collection<T>.Insert method.

Example

The code sample below demonstrates how you can handle the ASPxClientHtmlEditor.ContextMenuShowing event to change the content of a context menu (by changing its items visibility).

csharp
protected void Page_Load(object sender, EventArgs e) {
     if (!IsPostBack) {
          MyHtmlEditor.ContextMenuItems.CreateDefaultItems();
          MyHtmlEditor.ContextMenuItems.Insert(0, new HtmlEditorContextMenuItem("Add Title...", "AddTitle"));
          MyHtmlEditor.ContextMenuItems.Insert(1, new HtmlEditorContextMenuItem("Change Title...", "ChangeTitle"));
          MyHtmlEditor.ContextMenuItems.Insert(2, new HtmlEditorContextMenuItem("Remove Title", "RemoveTitle"));
     }
}
javascript
function OnContextMenuShowing(s, e) {
     var contextMenu = s.GetContextMenu();
     var selectedElement = myHtmlEditor.GetSelection().GetSelectedElement();
     var isImageSelected = selectedElement && selectedElement.tagName.toLowerCase() == "img";

     SetContextMenuItemVisible(contextMenu, "AddTitle", isImageSelected && !selectedElement.title);
     SetContextMenuItemVisible(contextMenu, "ChangeTitle", isImageSelected && selectedElement.title);
     SetContextMenuItemVisible(contextMenu, "RemoveTitle", isImageSelected && selectedElement.title);
}

function SetContextMenuItemVisible(contextMenu, itemName, visible) {
     var item = contextMenu.GetItemByName(itemName);
     if(item)
          item.SetVisible(visible);
}
aspx
<dx:ASPxHtmlEditor ID="DemoHtmlEditor" runat="server" ClientInstanceName="myHtmlEditor">
     <ClientSideEvents ContextMenuShowing="OnContextMenuShowing"

     ...

</dx:ASPxHtmlEditor>

See Also

Add

Context Menu

HTML Editor

Online Demo: Context Menu

HtmlEditorContextMenuItemCollection Class

HtmlEditorContextMenuItemCollection Members

DevExpress.Web.ASPxHtmlEditor Namespace