File tree Expand file tree Collapse file tree 2 files changed +20
-4
lines changed
src/BootstrapBlazor/Components/Tab Expand file tree Collapse file tree 2 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -188,9 +188,10 @@ else
188188 @RenderTabItemContent (item )
189189 < / CascadingValue > ;
190190
191- RenderFragment RenderDisabledHeaderItem (TabItem item ) =>
191+ RenderFragment RenderDisabledHeaderItem (TabItem item ) =>
192192 @<div @key =" @item" class =" @GetItemWrapClassString(item)" >
193- <div role =" tab" class =" @GetClassString(item)" >
193+ <div role =" tab" class =" @GetClassString(item)"
194+ @oncontextmenu =" e => OnContextMenu(e, item)" @oncontextmenu:preventDefault =" IsPreventDefault" >
194195 @RenderHeaderItemContent(item)
195196 </div >
196197 @if (TabStyle == TabStyle .Chrome )
Original file line number Diff line number Diff line change @@ -400,6 +400,12 @@ public partial class Tab : IHandlerException
400400 /// </summary>
401401 [ Parameter ]
402402 public string ? ContextMenuCloseAllIcon { get ; set ; }
403+
404+ /// <summary>
405+ /// Gets or sets before popup context menu callback. Default is null.
406+ /// </summary>
407+ [ Parameter ]
408+ public Func < TabItem , Task < bool > > ? OnBeforeShowContextMenu { get ; set ; }
403409
404410 [ CascadingParameter ]
405411 private Layout ? Layout { get ; set ; }
@@ -1070,9 +1076,18 @@ private Task OnCloseAll(ContextMenuItem item, object? context)
10701076
10711077 private async Task OnContextMenu ( MouseEventArgs e , TabItem item )
10721078 {
1073- if ( _contextMenuZone != null && item is { Closable : true } )
1079+ if ( _contextMenuZone != null )
10741080 {
1075- await _contextMenuZone . OnContextMenu ( e , item ) ;
1081+ var show = true ;
1082+ if ( OnBeforeShowContextMenu != null )
1083+ {
1084+ show = await OnBeforeShowContextMenu ( item ) ;
1085+ }
1086+
1087+ if ( show )
1088+ {
1089+ await _contextMenuZone . OnContextMenu ( e , item ) ;
1090+ }
10761091 }
10771092 }
10781093
You can’t perform that action at this time.
0 commit comments