diff --git a/src/BootstrapBlazor.Shared/Locales/en.json b/src/BootstrapBlazor.Shared/Locales/en.json index 6587affb80725d36876e83254caffec502599efe..15fde49b5789f6ab922f12f9cc9ee9a1ceb6406c 100644 --- a/src/BootstrapBlazor.Shared/Locales/en.json +++ b/src/BootstrapBlazor.Shared/Locales/en.json @@ -3963,14 +3963,14 @@ "Attr7": "Data source", "Attr8": "Click the command button callback method", "Attr9": "Right button template", - "ItemsText1": "document", + "ItemsText1": "Document", "Items1": "Task 1", "Items2": "Task 2", "Items3": "Task 3", "Items4": "Open", "Items5": "Save", "Items6": "Save as", - "ItemsText2": "edit", + "ItemsText2": "Edit", "Items7": "Open", "Items8": "Save", "Items9": "Save as", diff --git a/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor b/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor index 92899daa330916f3a7378c3a3d4521d404450e04..76526f3570bff646d944146f8b2e13c9647a15de 100644 --- a/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor +++ b/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor @@ -23,10 +23,18 @@
- @Localizer["P8"] + @Localizer["P9"]
+ + +
+
@Localizer["ItemsText1"]
+
@Localizer["ItemsText2"]
+
+
+ diff --git a/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor.cs b/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor.cs index 953ad529c9c93a294600bccba43bf0290339500c..a7a3cc6f1eccf29b9d016d7d8705c574b642a337 100644 --- a/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor.cs +++ b/src/BootstrapBlazor.Shared/Samples/RibbonTabs.razor.cs @@ -51,6 +51,23 @@ public partial class RibbonTabs }; } + private string? ActiveTabText { get; set; } + + private string? FileClassString => CssBuilder.Default("ribbon-body collapse") + .AddClass("show", ActiveTabText == Localizer["ItemsText1"]) + .Build(); + + private string? EditClassString => CssBuilder.Default("ribbon-body collapse") + .AddClass("show", ActiveTabText == Localizer["ItemsText2"]) + .Build(); + + private Task OnHeaderClickAsync(string text, string url) + { + ActiveTabText = text; + StateHasChanged(); + return Task.CompletedTask; + } + private IEnumerable GetAttributes() => new AttributeItem[] { new AttributeItem() @@ -111,7 +128,7 @@ public partial class RibbonTabs }, new AttributeItem() { - Name = nameof(RibbonTab.OnTabItemClickAsync), + Name = nameof(RibbonTab.OnItemClickAsync), Description = Localizer["Attr8"], Type = "Func", ValueList = " — ", diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 7e65f29a248b23bd5f1d8370ee8c1f1432a41e43..f6eb266a33c848412c9e7b117bde9a4df38b54df 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 6.11.3 + 6.11.4 diff --git a/src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor.cs b/src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor.cs index 4163812cbbc5356bf2325fae8bbeb7ae666b95f1..454bd54fa9fcf32f8c78a2b8cf222f1eb4d83fb5 100644 --- a/src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor.cs +++ b/src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor.cs @@ -60,7 +60,13 @@ public partial class RibbonTab : IDisposable /// 获得/设置 点击命令按钮回调方法 /// [Parameter] - public Func? OnTabItemClickAsync { get; set; } + public Func? OnItemClickAsync { get; set; } + + /// + /// 获得/设置 点击标签 Header 回调方法 + /// + [Parameter] + public Func? OnHeaderClickAsync { get; set; } /// /// 获得/设置 右侧按钮模板 @@ -108,18 +114,22 @@ public partial class RibbonTab : IDisposable private async Task OnClick(RibbonTabItem item) { - if (OnTabItemClickAsync != null) + if (OnItemClickAsync != null) { - await OnTabItemClickAsync(item); + await OnItemClickAsync(item); } } private async Task OnClickTab(TabItem item) { - if (OnTabItemClickAsync != null) + if (OnHeaderClickAsync != null) + { + await OnHeaderClickAsync(item.Text, item.Url); + } + if (OnItemClickAsync != null) { var tab = GetItems().First(i => i.Text == item.Text); - await OnTabItemClickAsync(tab); + await OnItemClickAsync(tab); } if (IsFloat) { diff --git a/test/UnitTest/Components/RibbonTabTest.cs b/test/UnitTest/Components/RibbonTabTest.cs index 357915834dc3157505f0c99be6c6ee5f93c74689..e80d6d1b9bb01746d6defd13ba642b95f6f83f1c 100644 --- a/test/UnitTest/Components/RibbonTabTest.cs +++ b/test/UnitTest/Components/RibbonTabTest.cs @@ -22,7 +22,7 @@ public class RibbonTabTest : BootstrapBlazorTestBase pb.Add(a => a.RibbonArrowUpIcon, "test-up"); pb.Add(a => a.RibbonArrowDownIcon, "test-down"); pb.Add(a => a.RibbonArrowPinIcon, "test-pin"); - pb.Add(a => a.OnTabItemClickAsync, item => + pb.Add(a => a.OnItemClickAsync, item => { tabItem = item; return Task.CompletedTask;