« E2 - Context Menu Demo

Interactive demonstration of the <e2-context-menu> component and its usage patterns.

Basic Context Menu

Right-click anywhere in the area below to see a basic context menu:

Right-click here for basic context menu

HTML Markup:

<e2-context-menu id="basic-menu" target="#basic-demo">
  <e2-context-menu-item
    label="Cut"
    icon="✂️"
    shortcut="Ctrl+X"
    value="cut">
  </e2-context-menu-item>
  <e2-context-menu-item
    label="Copy"
    icon="📋"
    shortcut="Ctrl+C"
    value="copy">
  </e2-context-menu-item>
  <e2-context-menu-item
    label="Paste"
    icon="📄"
    shortcut="Ctrl+V"
    value="paste">
  </e2-context-menu-item>
  <e2-context-menu-separator></e2-context-menu-separator>
  <e2-context-menu-item
    label="Properties"
    icon="⚙️"
    value="properties">
  </e2-context-menu-item>
</e2-context-menu>

Editor Area Context Menu

Right-click in the editor area for editor-specific actions:

This is a simulated editor area. Right-click here for editor-specific context menu options.

You can select text and right-click for text-specific actions.

HTML Markup:

<e2-context-menu id="editor-menu" target="#editor-area">
  <e2-context-menu-item
    label="Insert..."
    icon="➕"
    value="insert">
  </e2-context-menu-item>
  <e2-context-menu-item
    label="Find & Replace"
    icon="🔍"
    shortcut="Ctrl+H"
    value="find-replace">
  </e2-context-menu-item>
  <e2-context-menu-separator></e2-context-menu-separator>
  <e2-context-menu-item
    label="Format Document"
    icon="📐"
    shortcut="Shift+Alt+F"
    value="format">
  </e2-context-menu-item>
</e2-context-menu>

Disabled Items

Context menu with some disabled items:

Right-click here for context menu with disabled items

HTML Markup:

<e2-context-menu-item
  label="Available Action"
  icon="✅"
  value="available">
</e2-context-menu-item>
<e2-context-menu-item
  label="Disabled Action"
  icon="❌"
  value="disabled"
  disabled>
</e2-context-menu-item>

Sub-Menus

Context menu with nested sub-menus:

HTML Markup:

Programmatic Control

Show context menu programmatically:

JavaScript Example:

// Show context menu at specific position
const menu = document.getElementById('programmatic-menu');
const rect = button.getBoundingClientRect();
menu.show(rect.right + 10, rect.top);

// Hide context menu
menu.hide();

Output

Context menu events are logged here: