Skip to content

Commit 17fa900

Browse files
authored
Merge pull request #9109 from NuGet/dev
[ReleasePrep][2022.04.27]RI of dev into main
2 parents a32c7b5 + 9baae9c commit 17fa900

21 files changed

Lines changed: 443 additions & 153 deletions

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

Lines changed: 10 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: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,16 @@
9090
p.frameworktableinfo-text {
9191
.frameworktableinfo-text;
9292
margin-top: 10px;
93+
}
94+
95+
@media (-ms-high-contrast: active), (forced-colors: active) {
96+
.framework-badge-asset {
97+
font-weight: bold;
98+
border: 2px solid @badge-dark;
99+
padding: 0px 8px;
100+
}
101+
102+
.frameworktableinfo-asset-icon {
103+
border: 2px solid @badge-dark;
104+
}
93105
}

src/NuGetGallery/Controllers/PackagesController.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,6 +1365,9 @@ public virtual ActionResult ReportAbuse(string id, string version)
13651365
PackageId = id,
13661366
PackageVersion = package.Version,
13671367
CopySender = true,
1368+
IsPackageListed = package.Listed,
1369+
IsOwnerLocked = package.User?.IsLocked ?? false,
1370+
IsPackageLocked = package.PackageRegistration.IsLocked,
13681371
};
13691372

13701373
if (Request.IsAuthenticated)
@@ -1418,6 +1421,9 @@ public virtual async Task<ActionResult> ReportMyPackage(string id, string versio
14181421
PackageVersion = package.Version,
14191422
CopySender = true,
14201423
AllowDelete = allowDelete,
1424+
IsPackageListed = package.Listed,
1425+
IsPackageLocked = package.PackageRegistration.IsLocked,
1426+
IsOwnerLocked = package.User?.IsLocked ?? false
14211427
};
14221428

14231429
return View(model);

src/NuGetGallery/Helpers/ViewModelExtensions/ListPackageItemViewModelFactory.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,12 @@ private static bool CanPerformAction(User currentUser, Package package, ActionRe
6868

6969
private static BasicUserViewModel GetBasicUserViewModel(User user)
7070
{
71-
return new BasicUserViewModel { Username = user.Username, EmailAddress = user.EmailAddress, IsOrganization = user is Organization };
71+
return new BasicUserViewModel {
72+
Username = user.Username,
73+
EmailAddress = user.EmailAddress,
74+
IsOrganization = user is Organization,
75+
IsLocked = user.IsLocked
76+
};
7277
}
7378
}
7479
}

src/NuGetGallery/Helpers/ViewModelExtensions/PackageViewModelFactory.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public PackageViewModel Setup(PackageViewModel viewModel, Package package)
4747
viewModel.DevelopmentDependency = package.DevelopmentDependency;
4848
viewModel.LastUpdated = package.Published;
4949
viewModel.Listed = package.Listed;
50+
viewModel.Locked = package.PackageRegistration.IsLocked;
5051
viewModel.DownloadCount = package.DownloadCount;
5152
viewModel.Prerelease = package.IsPrerelease;
5253
viewModel.FailedValidation = package.PackageStatusKey == PackageStatus.FailedValidation;

src/NuGetGallery/Scripts/gallery/common.js

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@
305305
if (e) {
306306
e.stopPropagation();
307307
e.preventDefault();
308-
}
308+
}
309309
return false;
310310
}
311311

@@ -377,12 +377,10 @@
377377
nuget.addAjaxAntiForgeryToken = function (data) {
378378
var $tokenKey = "__RequestVerificationToken";
379379
var $field = $("#AntiForgeryForm input[name=__RequestVerificationToken]");
380-
if (data instanceof FormData)
381-
{
380+
if (data instanceof FormData) {
382381
data.append($tokenKey, $field.val());
383382
}
384-
else
385-
{
383+
else {
386384
data["__RequestVerificationToken"] = $field.val();
387385
}
388386
return data;
@@ -464,14 +462,14 @@
464462

465463
nuget.setPopovers = function () {
466464
var popoverElement = $(this);
467-
popoverElement.popover({ trigger: 'hover focus' });
468-
popoverElement.click(function () {
469-
popoverElement.popover('show');
470-
setTimeout(function () {
471-
popoverElement.popover('hide');
472-
},
473-
2000);
474-
});
465+
var popoverElementDom = popoverElement.get(0);
466+
var originalLabel = popoverElementDom.ariaLabel;
467+
var popoverHideTimeMS = 2000;
468+
var popoverFadeTimeMS = 200;
469+
470+
popoverElement.popover({ trigger: 'hover' });
471+
popoverElement.click(popoverShowAndHide);
472+
popoverElement.focus(popoverShowAndHide);
475473
popoverElement.keyup(function (event) {
476474
// normalize keycode for browser compatibility
477475
var code = event.which || event.keyCode || event.charCode;
@@ -481,6 +479,25 @@
481479
popoverElement.popover('hide');
482480
}
483481
});
482+
483+
function popoverShowAndHide() {
484+
popoverElement.popover('show');
485+
486+
// Windows Narrator does not announce popovers' content. See: https://github.com/twbs/bootstrap/issues/18618
487+
// We can force Narrator to announce the popover's content by "flashing" the element's ARIA label.
488+
popoverElementDom.ariaLabel = "";
489+
490+
setTimeout(function () {
491+
popoverElement.popover('hide');
492+
493+
// We need to restore the element's original ARIA label.
494+
// Wait 0.15 seconds for the popover to fade away first.
495+
// Otherwise, the screen reader will re-announce the popover's content.
496+
setTimeout(function () {
497+
popoverElementDom.ariaLabel = originalLabel;
498+
}, popoverFadeTimeMS);
499+
}, popoverHideTimeMS);
500+
}
484501
};
485502

486503
window.nuget = nuget;

src/NuGetGallery/ViewModels/BasicUserViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ public class BasicUserViewModel
88
public string EmailAddress { get; set; }
99
public string Username { get; set; }
1010
public bool IsOrganization { get; set; }
11+
public bool IsLocked { get; set; }
1112
}
1213
}

src/NuGetGallery/ViewModels/DisplayPackageViewModel.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class DisplayPackageViewModel : ListPackageItemViewModel
4747
public bool HasEmbeddedReadmeFile { get; set; }
4848
public PackageDependents PackageDependents { get; set; }
4949

50-
public const int NumberOfDaysToBlockIndexing = 21;
50+
public const int NumberOfDaysToBlockIndexing = 90;
5151

5252
public bool HasNewerPrerelease
5353
{
@@ -156,6 +156,14 @@ public bool BlockSearchEngineIndexing
156156
}
157157
}
158158

159+
public bool ShowDetailsAndLinks
160+
{
161+
get
162+
{
163+
return Listed || !Locked || !Owners.Any(x => x.IsLocked);
164+
}
165+
}
166+
159167
public enum RepositoryKind
160168
{
161169
Unknown,

src/NuGetGallery/ViewModels/PackageViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class PackageViewModel : IPackageVersionModel
1919
public bool VersionRequestedWasNotFound { get; set; }
2020
public int DownloadCount { get; set; }
2121
public bool Listed { get; set; }
22+
public bool Locked { get; set; }
2223
public bool FailedValidation { get; set; }
2324
public bool Available { get; set; }
2425
public bool Validating { get; set; }

src/NuGetGallery/ViewModels/ReportAbuseViewModel.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,13 @@ public class ReportAbuseViewModel : ReportViewModel
2727
[StringLength(4000)]
2828
[Display(Name = "Details")]
2929
public string Message { get; set; }
30+
31+
public bool ShowReportAbuseForm
32+
{
33+
get
34+
{
35+
return IsPackageListed || !IsPackageLocked || !IsOwnerLocked;
36+
}
37+
}
3038
}
3139
}

0 commit comments

Comments
 (0)