UI/Components/MenuOption.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@namespace Sandbox
<root>
@if ( !string.IsNullOrWhiteSpace( Icon ) )
{
<IconPanel Text="@Icon"></IconPanel>
}
<Label Text="@Text"></Label>
</root>
@code
{
[Parameter, EditorRequired]
public string Text { get; set; }
[Parameter]
public string Icon { get; set; }
[Parameter]
public object Value { get; set; }
public override void Tick()
{
base.Tick();
if ( Value is null )
return;
var menu = Ancestors.OfType<VerticalMenu>().FirstOrDefault();
if (menu is not null)
{
SetClass( "active", menu.Value == Value );
}
}
}