Skip to content

Commit a46488a

Browse files
authored
feat(SwalOption): add Footer parameter (#7824)
* feat(Swal): add Footer parameter * doc: 精简注释 * doc: 增加版本信息 * test: 增加 Footer 单元测试
1 parent 4d40025 commit a46488a

File tree

6 files changed

+29
-7
lines changed

6 files changed

+29
-7
lines changed

src/BootstrapBlazor/Components/SweetAlert/SwalOption.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ public class SwalOption : PopupOptionBase
4848
/// </summary>
4949
public RenderFragment? BodyTemplate { get; set; }
5050

51+
/// <summary>
52+
/// <para lang="zh">获得/设置 Footer 文本字符串</para>
53+
/// <para lang="en">Gets or sets Footer content string</para>
54+
/// <para>v<version>10.5.0</version></para>
55+
/// </summary>
56+
public string? Footer { get; set; }
57+
5158
/// <summary>
5259
/// <para lang="zh">获得/设置 Footer 组件</para>
5360
/// <para lang="en">Gets or sets Footer Component</para>

src/BootstrapBlazor/Components/SweetAlert/SweetAlertBody.razor

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@namespace BootstrapBlazor.Components
1+
@namespace BootstrapBlazor.Components
22
@inherits BootstrapComponentBase
33

44
<div class="swal2-header">
@@ -70,6 +70,13 @@ else
7070
@if (ShowFooter)
7171
{
7272
<div class="swal2-footer d-flex">
73-
@FooterTemplate
73+
@if (FooterTemplate != null)
74+
{
75+
@FooterTemplate
76+
}
77+
else
78+
{
79+
@Footer
80+
}
7481
</div>
7582
}

src/BootstrapBlazor/Components/SweetAlert/SweetAlertBody.razor.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ public partial class SweetAlertBody
122122
[Parameter]
123123
public RenderFragment? BodyTemplate { get; set; }
124124

125+
/// <summary>
126+
/// <para lang="zh">获得/设置 Footer 文本字符串</para>
127+
/// <para lang="en">Gets or sets Footer content string</para>
128+
/// <para>v<version>10.5.0</version></para>
129+
/// </summary>
130+
[Parameter]
131+
public string? Footer { get; set; }
132+
125133
/// <summary>
126134
/// <para lang="zh">获得/设置 Footer 模板</para>
127135
/// <para lang="en">Gets or sets Footer Template</para>

src/BootstrapBlazor/Components/Table/Table.razor.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -735,10 +735,6 @@ public async Task ExpandDetailRow(TItem item)
735735
/// <para lang="zh">获得/设置 是否自动刷新表格 默认为 false</para>
736736
/// <para lang="en">Gets or sets Whether to auto refresh. Default false</para>
737737
/// </summary>
738-
/// <remarks>
739-
/// <para lang="zh">此参数在 <see cref="IsExcel"/> 模式下不生效</para>
740-
/// <para lang="en">Not effective in <see cref="IsExcel"/> mode</para>
741-
/// </remarks>
742738
[Parameter]
743739
public bool IsAutoRefresh { get; set; }
744740

src/BootstrapBlazor/Extensions/SwalExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public static async Task<bool> ShowModal(this SwalService service, SwalOption op
6161
[nameof(SweetAlertBody.Title)] = option.Title,
6262
[nameof(SweetAlertBody.Content)] = option.Content,
6363
[nameof(SweetAlertBody.BodyTemplate)] = option.BodyTemplate,
64+
[nameof(SweetAlertBody.Footer)] = option.Footer,
6465
[nameof(SweetAlertBody.FooterTemplate)] = option.FooterTemplate,
6566
[nameof(SweetAlertBody.ButtonTemplate)] = option.ButtonTemplate,
6667
[nameof(SweetAlertBody.CloseButtonIcon)] = option.CloseButtonIcon,

test/UnitTest/Components/SwalTest.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,12 @@ public void Show_Ok()
5555
cut.InvokeAsync(() => swal.Show(new SwalOption()
5656
{
5757
Content = "I am Eror",
58-
Category = SwalCategory.Information
58+
Category = SwalCategory.Information,
59+
ShowFooter = true,
60+
Footer = "I am Footer"
5961
}));
6062
Assert.Contains("swal2-info", cut.Markup);
63+
Assert.Contains("I am Footer", cut.Markup);
6164
cut.InvokeAsync(() => modal.Instance.CloseCallback());
6265

6366
// 测试 Category

0 commit comments

Comments
 (0)