Skip to content

Commit e043791

Browse files
authored
Merge pull request #9804 from NuGet/dev
[ReleasePrep][2024.02.14]RI of dev into main
2 parents 4a8b40f + c85f0a7 commit e043791

31 files changed

Lines changed: 568 additions & 89 deletions

src/AccountDeleter/EmptyFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,5 +315,10 @@ public bool IsDisplayTfmBadgesEnabled(User user)
315315
{
316316
throw new NotImplementedException();
317317
}
318+
319+
public bool IsAdvancedFrameworkFilteringEnabled(User user)
320+
{
321+
throw new NotImplementedException();
322+
}
318323
}
319324
}

src/Bootstrap/dist/css/bootstrap-theme.css

Lines changed: 83 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Bootstrap/less/theme/common-supported-frameworks.less

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010
.framework-badges {
1111
.framework;
1212
margin-bottom: 14px;
13+
14+
a {
15+
display: inline-block;
16+
17+
&:hover,
18+
&:focus {
19+
text-decoration: none;
20+
}
21+
}
1322
}
1423

1524
.framework-badge {

src/Bootstrap/less/theme/page-list-packages.less

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
border: none;
110110
outline: none;
111111
float: right;
112+
margin-right: -3px;
112113
}
113114

114115
.active, .collapsible:hover {
@@ -130,6 +131,85 @@
130131
list-style: none;
131132
}
132133
}
134+
135+
.computed-frameworks-option {
136+
margin-top: 3px;
137+
margin-right: -2px;
138+
139+
label {
140+
margin-left: 0px;
141+
}
142+
143+
#computed-frameworks-checkbox {
144+
float: right;
145+
}
146+
}
147+
148+
.framework-filter-mode-option {
149+
align-items: center;
150+
display: flex;
151+
justify-content: space-between;
152+
margin-top: 2px;
153+
margin-bottom: 6px;
154+
margin-right: -2px;
155+
156+
p {
157+
margin: 0px;
158+
float: left;
159+
font-size: small;
160+
}
161+
162+
i {
163+
vertical-align: middle;
164+
}
165+
166+
.toggle-switch-control {
167+
float: right;
168+
margin-right: -2px;
169+
}
170+
171+
input {
172+
opacity: 0;
173+
width: 0px;
174+
margin: 0px;
175+
}
176+
177+
input:focus + label {
178+
outline: 1px solid #000;
179+
outline-offset: -1px;
180+
}
181+
182+
label {
183+
cursor: pointer;
184+
float: left;
185+
width: 35px;
186+
padding: 4px 7px;
187+
margin: 0px;
188+
text-align: center;
189+
vertical-align: middle;
190+
color: #555;
191+
font-size: x-small;
192+
background-color: #d9d9d9;
193+
border: 1px solid #767676;
194+
}
195+
196+
input:checked + label {
197+
color: #fff;
198+
font-weight: bolder;
199+
background-color: rgb(51, 122, 183);
200+
border: 1px solid rgb(51, 122, 183);
201+
}
202+
203+
label[for="all-selector"] {
204+
border-top-left-radius: 2px;
205+
border-bottom-left-radius: 2px;
206+
}
207+
208+
label[for="any-selector"] {
209+
border-top-right-radius: 2px;
210+
border-bottom-right-radius: 2px;
211+
}
212+
}
133213
}
134214

135215
@media (min-width: @screen-sm) {

src/GitHubVulnerabilities2Db/Fakes/FakeFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,5 +314,10 @@ public bool IsDisplayTfmBadgesEnabled(User user)
314314
{
315315
throw new NotImplementedException();
316316
}
317+
318+
public bool IsAdvancedFrameworkFilteringEnabled(User user)
319+
{
320+
throw new NotImplementedException();
321+
}
317322
}
318323
}

src/NuGetGallery.Core/Frameworks/IPackageFrameworkCompatibilityFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ namespace NuGetGallery.Frameworks
88
{
99
public interface IPackageFrameworkCompatibilityFactory
1010
{
11-
PackageFrameworkCompatibility Create(ICollection<PackageFramework> packageFrameworks, string packageId, bool includeComputedBadges = false);
11+
PackageFrameworkCompatibility Create(ICollection<PackageFramework> packageFrameworks, string packageId, string packageVersion, bool includeComputedBadges = false);
1212
}
1313
}

src/NuGetGallery.Core/Frameworks/PackageFrameworkCompatibilityBadges.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ namespace NuGetGallery.Frameworks
1616
public class PackageFrameworkCompatibilityBadges
1717
{
1818
public string PackageId { get; set; }
19+
public string PackageVersion { get; set; }
1920
public PackageFrameworkCompatibilityData Net { get; set; }
2021
public PackageFrameworkCompatibilityData NetCore { get; set; }
2122
public PackageFrameworkCompatibilityData NetStandard { get; set; }

src/NuGetGallery.Core/Frameworks/PackageFrameworkCompatibilityFactory.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class PackageFrameworkCompatibilityFactory : IPackageFrameworkCompatibili
2222
private readonly NuGetFrameworkSorter Sorter = new NuGetFrameworkSorter();
2323
private readonly int NetStartingMajorVersion = 5;
2424

25-
public PackageFrameworkCompatibility Create(ICollection<PackageFramework> packageFrameworks, string packageId, bool includeComputedBadges = false)
25+
public PackageFrameworkCompatibility Create(ICollection<PackageFramework> packageFrameworks, string packageId, string packageVersion, bool includeComputedBadges = false)
2626
{
2727
if (packageFrameworks == null)
2828
{
@@ -35,7 +35,7 @@ public PackageFrameworkCompatibility Create(ICollection<PackageFramework> packag
3535
.ToHashSet();
3636

3737
var table = CreateFrameworkCompatibilityTable(filteredPackageFrameworks);
38-
var badges = CreateFrameworkCompatibilityBadges(table, packageId, includeComputedBadges);
38+
var badges = CreateFrameworkCompatibilityBadges(table, packageId, packageVersion, includeComputedBadges);
3939

4040
return new PackageFrameworkCompatibility
4141
{
@@ -147,7 +147,11 @@ private void AddOrderedKey(Dictionary<string, SortedSet<PackageFrameworkCompatib
147147
}
148148
}
149149

150-
private PackageFrameworkCompatibilityBadges CreateFrameworkCompatibilityBadges(IReadOnlyDictionary<string, IReadOnlyCollection<PackageFrameworkCompatibilityData>> table, string packageId, bool includeComputed = false)
150+
private PackageFrameworkCompatibilityBadges CreateFrameworkCompatibilityBadges(
151+
IReadOnlyDictionary<string, IReadOnlyCollection<PackageFrameworkCompatibilityData>> table,
152+
string packageId,
153+
string packageVersion,
154+
bool includeComputed = false)
151155
{
152156
var net = GetBadgeFramework(table, FrameworkProductNames.Net, includeComputed);
153157
var netCore = GetBadgeFramework(table, FrameworkProductNames.NetCore, includeComputed);
@@ -157,6 +161,7 @@ private PackageFrameworkCompatibilityBadges CreateFrameworkCompatibilityBadges(I
157161
return new PackageFrameworkCompatibilityBadges
158162
{
159163
PackageId = packageId,
164+
PackageVersion = packageVersion,
160165
Net = net,
161166
NetCore = netCore,
162167
NetStandard = netStandard,

src/NuGetGallery.Services/Configuration/FeatureFlagService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public class FeatureFlagService : IFeatureFlagService
6161
private const string NuGetAccountPasswordLoginFeatureName = GalleryPrefix + "NuGetAccountPasswordLogin";
6262
private const string FrameworkFilteringFeatureName = GalleryPrefix + "FrameworkFiltering";
6363
private const string DisplayTfmBadgesFeatureName = GalleryPrefix + "DisplayTfmBadges";
64+
private const string AdvancedFrameworkFilteringFeatureName = GalleryPrefix + "AdvancedFrameworkFiltering";
6465

6566
private const string ODataV1GetAllNonHijackedFeatureName = GalleryPrefix + "ODataV1GetAllNonHijacked";
6667
private const string ODataV1GetAllCountNonHijackedFeatureName = GalleryPrefix + "ODataV1GetAllCountNonHijacked";
@@ -409,5 +410,10 @@ public bool IsDisplayTfmBadgesEnabled(User user)
409410
{
410411
return _client.IsEnabled(DisplayTfmBadgesFeatureName, user, defaultValue: false);
411412
}
413+
414+
public bool IsAdvancedFrameworkFilteringEnabled(User user)
415+
{
416+
return _client.IsEnabled(AdvancedFrameworkFilteringFeatureName, user, defaultValue: false);
417+
}
412418
}
413419
}

src/NuGetGallery.Services/Configuration/IFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,5 +332,10 @@ public interface IFeatureFlagService
332332
/// Whether or not to display TFM badges in search results
333333
/// </summary>
334334
bool IsDisplayTfmBadgesEnabled(User user);
335+
336+
/// <summary>
337+
/// Whether or not to allow filtering by frameworks on NuGet.org search
338+
/// </summary>
339+
bool IsAdvancedFrameworkFilteringEnabled(User user);
335340
}
336341
}

0 commit comments

Comments
 (0)