ant-design-blazor/components/notification/NotificationItem.razor
2020-05-29 00:33:49 +08:00

100 lines
3.8 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">
<AntIcon Type="check-circle" Theme="outline"></AntIcon>
</span>
break;
}
case NotificationType.Warning:
{
<span role="img" aria-label="exclamation-circle" class="anticon anticon-exclamation-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-warning">
<AntIcon Type="exclamation-circle" Theme="outline"></AntIcon>
</span>
break;
}
case NotificationType.Error:
{
<span role="img" aria-label="close-circle" class="anticon anticon-close-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-error">
<AntIcon Type="close-circle" Theme="outline"></AntIcon>
</span>
break;
}
case NotificationType.Info:
{
<span role="img" aria-label="info-circle" class="anticon anticon-info-circle @(ClassPrefix)-notice-icon @(ClassPrefix)-notice-icon-info">
<AntIcon Type="info-circle" Theme="outline"></AntIcon>
</span>
break;
}
}
}
<div class="@(ClassPrefix)-notice-message">
@if (Config.Message != null)
{
if (Config.Message is string msg)
{
@((MarkupString)(msg))
}
else if (Config.Message is RenderFragment renderFragment)
{
@renderFragment
}
}
</div>
<div class="@(ClassPrefix)-notice-description">
@if (Config.Description != null)
{
if (Config.Description is string description)
{
@((MarkupString)(description))
}
else if (Config.Message is RenderFragment renderFragment)
{
@renderFragment
}
}
</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>