ant-design-blazor/components/notification/NotificationItem.razor

98 lines
3.6 KiB
C#

@namespace AntDesign
@inherits NotificationBase
<div id="@Config.Key"
class="@(ClassPrefix)-notice @(ClassPrefix)-notice-closable @GetClassName()"
style="@Config.Style"
@onclick="OnClick">
<div class="@(ClassPrefix)-notice-content">
<div class="@GetIconClassName()">
@if (Config.Icon != null)
{
<span class="@(ClassPrefix)-notice-icon">
@Config.Icon
</span>
}
else if (Config.NotificationType != NotificationType.None)
{
switch (Config.NotificationType)
{
case NotificationType.Success:
{
<span role="img" aria-label="check-circle" class="anticon anticon-check-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-success">
<Icon Type="check-circle" Theme="outline"></Icon>
</span>
break;
}
case NotificationType.Warning:
{
<span role="img" aria-label="exclamation-circle" class="anticon anticon-exclamation-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-warning">
<Icon Type="exclamation-circle" Theme="outline"></Icon>
</span>
break;
}
case NotificationType.Error:
{
<span role="img" aria-label="close-circle" class="anticon anticon-close-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-error">
<Icon Type="close-circle" Theme="outline"></Icon>
</span>
break;
}
case NotificationType.Info:
{
<span role="img" aria-label="info-circle" class="anticon anticon-info-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-info">
<Icon Type="info-circle" Theme="outline"></Icon>
</span>
break;
}
}
}
<div class="@(ClassPrefix)-notice-message">
@{
if (Config.Message.IsT0)
{
@((MarkupString)(Config.Message.AsT0))
}
else
{
@Config.Message.AsT1
}
}
</div>
<div class="@(ClassPrefix)-notice-description">
@{
if (Config.Description.IsT0)
{
@((MarkupString)(Config.Description.AsT0))
}
else
{
@Config.Description.AsT1
}
}
</div>
@if (Config.Btn != null)
{
<span class="@(ClassPrefix)-notice-btn">
@Config.Btn
</span>
}
</div>
</div>
<a tabindex="0" class="@(ClassPrefix)-notice-close" @onclick="Close" @onclick:preventDefault @onclick:stopPropagation>
<span class="@(ClassPrefix)-close-x">
<span role="img" aria-label="close" class="anticon anticon-close @(ClassPrefix)-close-icon">
@Config.CloseIcon
</span>
</span>
</a>
</div>