fix(ui): templates root-menu Escape + double-menu guard + reorder disabled tests (#258)
- Root context menu now has tabindex/focus + Escape-key close (OnRootMenuKeyDown) mirroring the node menu - Opening root menu calls _tree.DismissNodeContextMenu(); opening node menu fires OnNodeContextMenuOpened → DismissRootContextMenu so only one menu is ever visible - Add FolderContextMenu_MoveUp_IsDisabled_OnFirstSibling and FolderContextMenu_MoveDown_IsDisabled_OnLastSibling bUnit tests
This commit is contained in:
@@ -21,7 +21,8 @@
|
||||
SelectedKeys="SelectedKeys"
|
||||
SelectedKeysChanged="SelectedKeysChanged"
|
||||
InitiallyExpanded="@(_initiallyExpanded)"
|
||||
StorageKey="@StorageKey">
|
||||
StorageKey="@StorageKey"
|
||||
OnNodeContextMenuOpened="OnNodeContextMenuOpened">
|
||||
<NodeContent Context="node">
|
||||
@if (NodeContent != null)
|
||||
{
|
||||
@@ -72,6 +73,8 @@
|
||||
[Parameter] public RenderFragment? EmptyContent { get; set; }
|
||||
[Parameter] public EventCallback<TemplateTreeNode> OnNodeClick { get; set; }
|
||||
[Parameter] public string? StorageKey { get; set; }
|
||||
/// <summary>Raised when a node context menu opens; forwarded from the inner TreeView.</summary>
|
||||
[Parameter] public EventCallback OnNodeContextMenuOpened { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Optional: caller-supplied extra leaves to nest under a template. Used by
|
||||
@@ -225,4 +228,10 @@
|
||||
|
||||
/// <summary>Forwarded to the inner TreeView so callers can drive expand/collapse.</summary>
|
||||
public void CollapseAll() => _tree?.CollapseAll();
|
||||
|
||||
/// <summary>
|
||||
/// Close any open node context menu. Called by the host page when it opens the
|
||||
/// root context menu so both menus are never visible simultaneously.
|
||||
/// </summary>
|
||||
public void DismissNodeContextMenu() => _tree?.DismissContextMenu();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user