Skip to content

Commit db56c49

Browse files
authored
Merge pull request #11674 from bitfoundation/develop
Version 10.1.0 (#11628)
2 parents d03286d + 5b5b887 commit db56c49

File tree

259 files changed

+5789
-6392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+5789
-6392
lines changed

.github/workflows/bit.full.ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ jobs:
6262
dotnet build
6363
pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps
6464
dotnet test
65+
cd ../../../
66+
rm -r "TestPostgreSQL"
6567
6668
- name: Upload Tests Artifact
6769
uses: actions/upload-artifact@v5
@@ -84,6 +86,8 @@ jobs:
8486
dotnet build
8587
pwsh bin/Debug/net10.0/playwright.ps1 install --with-deps
8688
dotnet test
89+
cd ../../../
90+
rm -r "SimpleTest"
8791
8892
- name: Upload Tests Artifact
8993
uses: actions/upload-artifact@v5

src/Besql/Bit.Besql/wwwroot/bit-besql.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var BitBesql = window.BitBesql || {};
2-
BitBesql.version = window['bit-besql version'] = '10.0.0';
2+
BitBesql.version = window['bit-besql version'] = '10.1.0';
33

44
BitBesql.persist = async function persist(fileName) {
55

src/Besql/Demo/Bit.Besql.Demo/Bit.Besql.Demo.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313

1414
<ItemGroup>
1515
<!--
16-
To add migrations or optimize db context, first set `Bit.Besql.Demo` project as startup project in solution explorer,
17-
and open Nuget Package Manager Console, and select `Bit.Besql.Demo.Client` project as default project
18-
Then run either Add-Migration MigrationName -OutputDir Data\Migrations or
19-
Optimize-DbContext -OutputDir Data\CompiledModel commands. -->
16+
To add migrations or optimize db context, first set `Bit.Besql.Demo` project as startup project in solution explorer,
17+
and open Nuget Package Manager Console, and select `Bit.Besql.Demo.Client` project as default project
18+
Then run either Add-Migration MigrationName -OutputDir Data\Migrations or
19+
Optimize-DbContext -OutputDir Data\CompiledModel commands. -->
2020
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0">
2121
<PrivateAssets>all</PrivateAssets>
2222
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/* Visual Studio Settings File */
2+
{
3+
"languages.defaults.tabs.tabSize": 4,
4+
"languages.defaults.general.lineNumbers": true,
5+
"environment.documents.saveWithSpecificEncoding": true,
6+
"environment.documents.saveEncoding": "utf-8-nobom;65001",
7+
"debugging.hotReload.enableHotReload": true,
8+
"debugging.hotReload.applyOnFileSave": true,
9+
"debugging.general.disableJITOptimization": true,
10+
"debugging.hotReload.enableForNoDebugLaunch": true,
11+
"projectsAndSolutions.aspNetCore.general.hotReloadCssChanges": true,
12+
"copilot.general.completions.enableNextEditSuggestions": true,
13+
"copilot.general.editor.enableAdaptivePaste": true,
14+
"copilot.general.chat.enablePlanning": true,
15+
"languages.razor.tabs.character": "space",
16+
"languages.xml.tabs.character": "space",
17+
"languages.t-sql90.tabs.character": "space",
18+
"languages.sqlServerTools.tabs.character": "space",
19+
"languages.dockerfile.tabs.character": "space"
20+
}

src/Bit.Build.props

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
11
<Project>
22

3-
<PropertyGroup>
3+
<PropertyGroup>
44

5-
<!-- Info -->
6-
<Authors>bit platform</Authors>
7-
<Company>bit platform</Company>
8-
<Product>bit platform</Product>
9-
<Title>$(MSBuildProjectName)</Title>
10-
<Description>$(MSBuildProjectName)</Description>
11-
<Copyright>Copyright © bit platform 2025</Copyright>
5+
<!-- Info -->
6+
<Authors>bit platform</Authors>
7+
<Company>bit platform</Company>
8+
<Product>bit platform</Product>
9+
<Title>$(MSBuildProjectName)</Title>
10+
<Description>$(MSBuildProjectName)</Description>
11+
<Copyright>Copyright © bit platform 2025</Copyright>
1212

13-
<!-- Repo -->
14-
<RepositoryUrl>https://github.com/bitfoundation/bitplatform</RepositoryUrl>
15-
<RepositoryType>git</RepositoryType>
13+
<!-- Repo -->
14+
<RepositoryUrl>https://github.com/bitfoundation/bitplatform</RepositoryUrl>
15+
<RepositoryType>git</RepositoryType>
1616

17-
<!-- nupkg -->
18-
<PackageId>$(MSBuildProjectName)</PackageId>
19-
<PackageTags>Bit</PackageTags>
20-
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
21-
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
22-
<AllowedOutputExtensionsInPackageBuildOutputFolder Condition=" '$(Configuration)' == 'Release' ">$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
23-
<PackageDescription>$(MSBuildProjectName)</PackageDescription>
24-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
25-
<PackageIcon>PackageIcon.png</PackageIcon>
26-
<PackageReadmeFile>README.md</PackageReadmeFile>
27-
<PackageProjectUrl>https://github.com/bitfoundation/bitplatform</PackageProjectUrl>
17+
<!-- nupkg -->
18+
<PackageId>$(MSBuildProjectName)</PackageId>
19+
<PackageTags>Bit</PackageTags>
20+
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
21+
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
22+
<AllowedOutputExtensionsInPackageBuildOutputFolder Condition=" '$(Configuration)' == 'Release' ">$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
23+
<PackageDescription>$(MSBuildProjectName)</PackageDescription>
24+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
25+
<PackageIcon>PackageIcon.png</PackageIcon>
26+
<PackageReadmeFile>README.md</PackageReadmeFile>
27+
<PackageProjectUrl>https://github.com/bitfoundation/bitplatform</PackageProjectUrl>
2828

29-
<!-- Version -->
30-
<ReleaseVersion>10.0.0</ReleaseVersion>
31-
<PackageVersion>$(ReleaseVersion)</PackageVersion>
32-
<PackageReleaseNotes>https://github.com/bitfoundation/bitplatform/releases/tag/v-$(ReleaseVersion)</PackageReleaseNotes>
33-
<Version Condition=" '$(Configuration)' == 'Release' ">$([System.String]::Copy($(ReleaseVersion)).Replace('-pre-', '.'))</Version>
34-
<Deterministic>true</Deterministic>
29+
<!-- Version -->
30+
<ReleaseVersion>10.1.0</ReleaseVersion>
31+
<PackageVersion>$(ReleaseVersion)</PackageVersion>
32+
<PackageReleaseNotes>https://github.com/bitfoundation/bitplatform/releases/tag/v-$(ReleaseVersion)</PackageReleaseNotes>
33+
<Version Condition=" '$(Configuration)' == 'Release' ">$([System.String]::Copy($(ReleaseVersion)).Replace('-pre-', '.'))</Version>
34+
<Deterministic>true</Deterministic>
3535
<IsAotCompatible>true</IsAotCompatible>
3636

37-
<!-- Compile -->
38-
<NeutralLanguage>en</NeutralLanguage>
39-
<LangVersion>preview</LangVersion>
40-
<Nullable>enable</Nullable>
41-
<NoWarn>$(NoWarn);NU1605;CS1591;NU1701;CA1303;CA1308;CA2007;CA1014;CA2227;BL0007;CA1056;BL0005;CS1998</NoWarn>
37+
<!-- Compile -->
38+
<NeutralLanguage>en</NeutralLanguage>
39+
<LangVersion>preview</LangVersion>
40+
<Nullable>enable</Nullable>
41+
<NoWarn>$(NoWarn);NU1605;CS1591;NU1701;CA1303;CA1308;CA2007;CA1014;CA2227;BL0007;CA1056;BL0005;CS1998</NoWarn>
4242
<WarningsAsErrors>$(WarningsAsErrors);CS0114;RZ10012</WarningsAsErrors>
43-
<!-- https://stackoverflow.com/a/46815541/2720104 -->
44-
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
45-
</PropertyGroup>
43+
<!-- https://stackoverflow.com/a/46815541/2720104 -->
44+
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
45+
</PropertyGroup>
4646

47-
<!-- README and LICENSE -->
48-
<PropertyGroup>
47+
<!-- README and LICENSE -->
48+
<PropertyGroup>
4949
<SignAssembly>True</SignAssembly>
5050
<AssemblyOriginatorKeyFile>$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'AssemblyOriginatorKeyFile.snk'))\AssemblyOriginatorKeyFile.snk))</AssemblyOriginatorKeyFile>
5151
</PropertyGroup>
5252

53-
<ItemGroup>
54-
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'LICENSE'))\LICENSE))">
55-
<Pack>True</Pack>
56-
<PackagePath>\</PackagePath>
57-
</None>
58-
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'README.md'))\README.md))">
59-
<Pack>True</Pack>
60-
<PackagePath>\</PackagePath>
61-
</None>
62-
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'PackageIcon.png'))\PackageIcon.png))">
63-
<Pack>True</Pack>
64-
<PackagePath>\</PackagePath>
65-
</None>
66-
</ItemGroup>
53+
<ItemGroup>
54+
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'LICENSE'))\LICENSE))">
55+
<Pack>True</Pack>
56+
<PackagePath>\</PackagePath>
57+
</None>
58+
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'README.md'))\README.md))">
59+
<Pack>True</Pack>
60+
<PackagePath>\</PackagePath>
61+
</None>
62+
<None Include="$([System.IO.Path]::GetFullPath($([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', 'PackageIcon.png'))\PackageIcon.png))">
63+
<Pack>True</Pack>
64+
<PackagePath>\</PackagePath>
65+
</None>
66+
</ItemGroup>
6767

6868
</Project>

src/BlazorES2019/Bit.BlazorES2019/buildTransitive/Bit.BlazorES2019.targets

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<Project>
22
<ItemGroup>
3-
<Content Remove="$(NuGetPackageRoot)/bit.blazores2019/10.0.0/contentFiles/any/net9.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net9.0'))" />
4-
<Content Include="$(NuGetPackageRoot)/bit.blazores2019/10.0.0/contentFiles/any/net9.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net9.0'))">
3+
<Content Remove="$(NuGetPackageRoot)/bit.blazores2019/10.1.0/contentFiles/any/net9.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net9.0'))" />
4+
<Content Include="$(NuGetPackageRoot)/bit.blazores2019/10.1.0/contentFiles/any/net9.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net9.0'))">
55
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
66
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
77
<Link>wwwroot\_framework\%(Filename)%(Extension)</Link>
88
</Content>
9-
<Content Remove="$(NuGetPackageRoot)/bit.blazores2019/10.0.0/contentFiles/any/net10.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net10.0'))" />
10-
<Content Include="$(NuGetPackageRoot)/bit.blazores2019/10.0.0/contentFiles/any/net10.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net10.0'))">
9+
<Content Remove="$(NuGetPackageRoot)/bit.blazores2019/10.1.0/contentFiles/any/net10.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net10.0'))" />
10+
<Content Include="$(NuGetPackageRoot)/bit.blazores2019/10.1.0/contentFiles/any/net10.0/wwwroot/_framework/*.js" Condition="$(TargetFramework.Contains('net10.0'))">
1111
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1212
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
1313
<Link>wwwroot\_framework\%(Filename)%(Extension)</Link>

src/BlazorUI/Bit.BlazorUI.Extras/Components/Chart/BarChart/Axes/ExtendedCartesianAxes.tt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<#@ import namespace="System.IO" #>
66

77
<#
8-
string[] cartesianAxesNames = new[] { "CategoryAxis", "LinearCartesianAxis", "LogarithmicAxis", "TimeAxis" };
9-
foreach (string baseName in cartesianAxesNames)
10-
{
11-
string className = "BitChartBar" + baseName;
8+
string[] cartesianAxesNames = new[] { "CategoryAxis", "LinearCartesianAxis", "LogarithmicAxis", "TimeAxis" };
9+
foreach (string baseName in cartesianAxesNames)
10+
{
11+
string className = "BitChartBar" + baseName;
1212
#>
1313

1414
namespace Bit.BlazorUI

src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@
22

33
<Sdk Name="Microsoft.NET.Sdk.Razor" />
44

5-
<PropertyGroup>
6-
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
7-
<IsPackable>false</IsPackable>
5+
<PropertyGroup>
6+
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
7+
<IsPackable>false</IsPackable>
88
<LangVersion>14.0</LangVersion>
99
<Nullable>enable</Nullable>
1010
<RollForward>Major</RollForward>
11-
</PropertyGroup>
11+
</PropertyGroup>
1212

13-
<ItemGroup>
14-
<Compile Include="..\Bit.BlazorUI\Components\Inputs\ColorPicker\BitInternalColor.cs" Link="Components\Inputs\ColorPicker\BitInternalColor.cs" />
15-
<Compile Include="..\Bit.BlazorUI\Extensions\EnumExtensions.cs" Link="Extensions\EnumExtensions.cs" />
16-
<Compile Include="..\Bit.BlazorUI\Extensions\StringExtensions.cs" Link="Extensions\StringExtensions.cs" />
17-
</ItemGroup>
13+
<ItemGroup>
14+
<Compile Include="..\Bit.BlazorUI\Components\Inputs\ColorPicker\BitInternalColor.cs" Link="Components\Inputs\ColorPicker\BitInternalColor.cs" />
15+
<Compile Include="..\Bit.BlazorUI\Extensions\EnumExtensions.cs" Link="Extensions\EnumExtensions.cs" />
16+
<Compile Include="..\Bit.BlazorUI\Extensions\StringExtensions.cs" Link="Extensions\StringExtensions.cs" />
17+
</ItemGroup>
1818

19-
<ItemGroup>
20-
<PackageReference Include="bunit.web" Version="1.40.0" />
21-
<PackageReference Include="MSTest" Version="4.0.2" />
22-
</ItemGroup>
19+
<ItemGroup>
20+
<PackageReference Include="bunit.web" Version="1.40.0" />
21+
<PackageReference Include="MSTest" Version="4.0.2" />
22+
</ItemGroup>
2323

24-
<ItemGroup>
24+
<ItemGroup>
2525
<ProjectReference Include="..\Bit.BlazorUI\Bit.BlazorUI.csproj" />
2626
<ProjectReference Include="..\Bit.BlazorUI.Extras\Bit.BlazorUI.Extras.csproj" />
27-
</ItemGroup>
27+
</ItemGroup>
2828

2929
</Project>
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
using System.Collections.Generic;
2+
using Bunit;
3+
using Microsoft.VisualStudio.TestTools.UnitTesting;
4+
5+
namespace Bit.BlazorUI.Tests.Components.Buttons.ButtonGroup;
6+
7+
[TestClass]
8+
public class BitButtonGroupTests : BunitTestContext
9+
{
10+
[TestMethod]
11+
public void BitButtonGroupShouldRenderItemsFromItemsParameter()
12+
{
13+
var items = new List<BitButtonGroupItem>
14+
{
15+
new() { Text = "One" },
16+
new() { Text = "Two" }
17+
};
18+
19+
var comp = RenderComponent<BitButtonGroup<BitButtonGroupItem>>(parameters =>
20+
{
21+
parameters.Add(p => p.Items, items);
22+
});
23+
24+
var buttons = comp.FindAll("button");
25+
Assert.AreEqual(2, buttons.Count);
26+
Assert.IsTrue(buttons[0].TextContent.Contains("One"));
27+
Assert.IsTrue(buttons[1].TextContent.Contains("Two"));
28+
}
29+
30+
[TestMethod]
31+
public void BitButtonGroupShouldInvokeOnItemClickAndItemOnClickAction()
32+
{
33+
var actionInvokedText = string.Empty;
34+
var onItemClickCalled = false;
35+
36+
var items = new List<BitButtonGroupItem>
37+
{
38+
new() { Text = "ClickMe", OnClick = i => actionInvokedText = i.Text },
39+
new() { Text = "Other" }
40+
};
41+
42+
var component = RenderComponent<BitButtonGroup<BitButtonGroupItem>>(parameters =>
43+
{
44+
parameters.Add(p => p.Items, items);
45+
parameters.Add(p => p.OnItemClick, (BitButtonGroupItem it) => onItemClickCalled = true);
46+
});
47+
48+
var btn = component.Find(".bit-btg-itm");
49+
Assert.IsNotNull(btn);
50+
51+
btn.Click();
52+
53+
Assert.IsTrue(onItemClickCalled);
54+
Assert.AreEqual("ClickMe", actionInvokedText);
55+
}
56+
57+
[TestMethod]
58+
public void BitButtonGroupToggleDefaultKeyShouldSetToggledItemAndRaiseOnToggleChange()
59+
{
60+
string? toggledKey = null;
61+
62+
var items = new List<BitButtonGroupItem>
63+
{
64+
new() { Text = "A", Key = "a" },
65+
new() { Text = "B", Key = "b" }
66+
};
67+
68+
var comp = RenderComponent<BitButtonGroup<BitButtonGroupItem>>(parameters =>
69+
{
70+
parameters.Add(p => p.Items, items);
71+
parameters.Add(p => p.Toggle, true);
72+
parameters.Add(p => p.DefaultToggleKey, "b");
73+
parameters.Add(p => p.OnToggleChange, (BitButtonGroupItem it) => toggledKey = it?.Key);
74+
});
75+
76+
// After initialization the default toggled item should be applied
77+
Assert.AreEqual("b", toggledKey);
78+
79+
// The rendered button with toggled class
80+
var toggled = comp.FindAll(".bit-btg-chk");
81+
Assert.IsTrue(toggled.Count >= 1);
82+
Assert.IsTrue(toggled[0].TextContent.Contains("B"));
83+
84+
// Click the first button to toggle
85+
var firstBtn = comp.FindAll("button")[0];
86+
firstBtn.Click();
87+
88+
// Now toggledKey should change to 'a'
89+
Assert.AreEqual("a", toggledKey);
90+
}
91+
}

src/BlazorUI/Bit.BlazorUI.Tests/Components/Inputs/Dropdown/BitDropdownTests.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -903,11 +903,12 @@ public void BitDropdownVirtualizeTest(bool virtualize, int? itemSize, int? overs
903903
//https://bunit.dev/docs/test-doubles/emulating-ijsruntime.html#-jsinterop-emulation
904904
const double viewportHeight = 1_000_000_000;
905905
var items = GetRangeDropdownItems(500);
906+
var maxItemCount = 100;
906907

907-
// To ensure a consistent display structure in the Virtualize component across .NET 9 and .NET 8,
908+
// To ensure a consistent display structure in the Virtualize component across .NET 8, .NET 9, and .NET 10,
908909
// we've set the default value of MaxItemCount to 100. This means that even if a higher value is specified,
909910
// only a maximum of 100 items will be rendered by default.
910-
AppContext.SetData("Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.MaxItemCount", 100);
911+
AppContext.SetData("Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.MaxItemCount", maxItemCount);
911912

912913
var component = RenderComponent<BitDropdown<BitDropdownItem<string>, string>>(parameters =>
913914
{
@@ -935,14 +936,16 @@ public void BitDropdownVirtualizeTest(bool virtualize, int? itemSize, int? overs
935936

936937
if (virtualize)
937938
{
938-
//When virtualize is true, number of rendered items is greater than number of items show in the list + 2 * overScanCount.
939-
var expectedRenderedItemCount = Math.Ceiling((decimal)(viewportHeight / component.Instance.ItemSize)) + (2 * component.Instance.OverscanCount);
940-
expectedRenderedItemCount = Math.Min(expectedRenderedItemCount, 100);
939+
//When virtualize is true, number of rendered items is greater than number of items shown in the list by "2 * OverScanCount".
940+
var overscanItemsCount = 2 * component.Instance.OverscanCount;
941941

942942
#if NET10_0
943-
expectedRenderedItemCount += (overscanCount ?? 3) * 2; // https://github.com/dotnet/aspnetcore/pull/63765
943+
maxItemCount += overscanItemsCount;
944944
#endif
945945

946+
var expectedRenderedItemCount = Math.Ceiling((decimal)(viewportHeight / component.Instance.ItemSize)) + overscanItemsCount;
947+
expectedRenderedItemCount = Math.Min(expectedRenderedItemCount, maxItemCount);
948+
946949
//When actualRenderedItemCount is smaller than expectedRenderedItemCount, so show all items in viewport then actualRenderedItemCount equals total items count
947950
if (actualRenderedItemCount < expectedRenderedItemCount)
948951
{
@@ -957,6 +960,8 @@ public void BitDropdownVirtualizeTest(bool virtualize, int? itemSize, int? overs
957960
{
958961
Assert.AreEqual(items.Count, actualRenderedItemCount);
959962
}
963+
964+
AppContext.SetData("Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.MaxItemCount", null);
960965
}
961966

962967
[DataTestMethod,

0 commit comments

Comments
 (0)