Files
Denso/srcs/RobotNet10/Components/RobotNet10.Components/IconButton.razor
2026-07-03 16:31:37 +07:00

26 lines
862 B
Plaintext

@using Microsoft.AspNetCore.Components.Web
<button class="icon-button @DisabledClass" @onclick="HandleClick" title="@Title" disabled="@Disabled">
<span class="mdi @IconClass"></span>
</button>
@code {
[Parameter] public string Icon { get; set; } = string.Empty;
[Parameter] public string? Title { get; set; }
[Parameter] public EventCallback<MouseEventArgs> OnClick { get; set; }
[Parameter] public bool Disabled { get; set; }
private string IconClass => $"mdi-{Icon} mdi-18px"; /* Giảm icon size để phù hợp với button nhỏ hơn */
private string DisabledClass => Disabled ? "disabled" : string.Empty;
private async Task HandleClick(MouseEventArgs e)
{
if (Disabled || !OnClick.HasDelegate)
{
return;
}
await OnClick.InvokeAsync(e);
}
}