Skip to content

Commit

Permalink
feat(Layout): add ShowTabItemClose parameter (#4449)
Browse files Browse the repository at this point in the history
* refactor: 增加部分 Tab 参数

* test: 增加单元测试
  • Loading branch information
ArgoZhang authored Oct 13, 2024
1 parent ab93093 commit 14871c4
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/BootstrapBlazor/Components/Layout/Layout.razor
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,12 @@
@<main class="@MainClassString">
@if (UseTabSet)
{
<Tab ClickTabToNavigation="true" ShowExtendButtons="true" ShowClose="true" AllowDrag="AllowDragTab"
<Tab ClickTabToNavigation="ClickTabToNavigation"
ShowExtendButtons="ShowTabExtendButtons" ShowClose="ShowTabItemClose" AllowDrag="AllowDragTab"
AdditionalAssemblies="@AdditionalAssemblies" NotFoundTabText="@NotFoundTabText"
DefaultUrl="@TabDefaultUrl" ExcludeUrls="@ExcludeUrls" IsOnlyRenderActiveTab="IsOnlyRenderActiveTab"
Body="@Main" NotAuthorized="NotAuthorized!" NotFound="NotFound!" />
Body="@Main" NotAuthorized="NotAuthorized!" NotFound="NotFound!">
</Tab>
}
else
{
Expand Down
18 changes: 18 additions & 0 deletions src/BootstrapBlazor/Components/Layout/Layout.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,24 @@ public partial class Layout : IHandlerException
[Parameter]
public string TabDefaultUrl { get; set; } = "";

/// <summary>
/// 获得/设置 标签是否显示关闭按钮 默认 true
/// </summary>
[Parameter]
public bool ShowTabItemClose { get; set; } = true;

/// <summary>
/// 获得/设置 标签是否显示扩展按钮 默认 true
/// </summary>
[Parameter]
public bool ShowTabExtendButtons { get; set; } = true;

/// <summary>
/// 获得/设置 点击标签页是否切换地址栏 默认 true
/// </summary>
[Parameter]
public bool ClickTabToNavigation { get; set; } = true;

/// <summary>
/// 获得/设置 授权回调方法多用于权限控制
/// </summary>
Expand Down
37 changes: 37 additions & 0 deletions test/UnitTest/Components/LayoutTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,43 @@ public void UseTabSet_Menus()
cut.WaitForAssertion(() => cut.Contains("<div class=\"tabs-body-content\">Binder</div>"));
}

[Fact]
public void UseTabSet_ShowTabExtendButtons()
{
var cut = Context.RenderComponent<Layout>(pb =>
{
pb.Add(a => a.UseTabSet, true);
pb.Add(a => a.AdditionalAssemblies, new Assembly[] { GetType().Assembly });
pb.Add(a => a.ShowTabExtendButtons, false);
});
cut.DoesNotContain("<div class=\"nav-link-bar dropdown dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">");
}

[Fact]
public void UseTabSet_ShowCloseButton()
{
var cut = Context.RenderComponent<Layout>(pb =>
{
pb.Add(a => a.UseTabSet, true);
pb.Add(a => a.AdditionalAssemblies, new Assembly[] { GetType().Assembly });
pb.Add(a => a.ShowTabItemClose, false);
});
cut.DoesNotContain("<span class=\"tabs-item-close\"");
}

[Fact]
public void UseTabSet_ClickTabToNavigation()
{
var cut = Context.RenderComponent<Layout>(pb =>
{
pb.Add(a => a.UseTabSet, true);
pb.Add(a => a.AdditionalAssemblies, new Assembly[] { GetType().Assembly });
pb.Add(a => a.ClickTabToNavigation, false);
});
var tab = cut.FindComponent<Tab>();
Assert.False(tab.Instance.ClickTabToNavigation);
}

[Fact]
public void IsFixedHeader_OK()
{
Expand Down

0 comments on commit 14871c4

Please sign in to comment.