Skip to content

Commit debc8a9

Browse files
authored
Search-by-TFM feature flight UI bug fix (#9357)
* Search-by-TFM UI Fix: Input fields were hidden behind feature flight but still being referenced by js changes, which was causing errors * Also moved framework initialization script to end of js file * a11y fix
1 parent 1604023 commit debc8a9

2 files changed

Lines changed: 19 additions & 18 deletions

File tree

src/NuGetGallery/Scripts/gallery/page-list-packages.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,6 @@ $(function() {
5555
}
5656
}
5757

58-
// Initialize state for Framework and Tfm checkboxes
59-
// NOTE: We first click on all selected Framework checkboxes and then on the selected Tfm checkboxes, which
60-
// allows us to correctly handle cases where a Framework AND one of its child Tfms is present in the query
61-
initializeFrameworkAndTfmCheckboxes();
62-
function initializeFrameworkAndTfmCheckboxes() {
63-
var inputFrameworkFilters = searchForm.frameworks.value.split(',').map(f => f.trim()).filter(f => f);
64-
var inputTfmFilters = searchForm.tfms.value.split(',').map(f => f.trim()).filter(f => f);
65-
searchForm.frameworks.value = "";
66-
searchForm.tfms.value = "";
67-
68-
inputFrameworkFilters.map(id => document.getElementById(id)).forEach(checkbox => checkbox.click());
69-
inputTfmFilters.map(id => document.getElementById(id)).forEach(checkbox => checkbox.click());
70-
}
71-
7258
// Submit the form when a user changes the selected 'sortBy' option
7359
searchForm.sortby.addEventListener('change', (e) => {
7460
searchForm.sortby.value = e.target.value;
@@ -108,4 +94,18 @@ $(function() {
10894
}
10995
}
11096
}
97+
98+
// Initialize state for Framework and Tfm checkboxes
99+
// NOTE: We first click on all selected Framework checkboxes and then on the selected Tfm checkboxes, which
100+
// allows us to correctly handle cases where a Framework AND one of its child Tfms is present in the query
101+
initializeFrameworkAndTfmCheckboxes();
102+
function initializeFrameworkAndTfmCheckboxes() {
103+
var inputFrameworkFilters = searchForm.frameworks.value.split(',').map(f => f.trim()).filter(f => f);
104+
var inputTfmFilters = searchForm.tfms.value.split(',').map(f => f.trim()).filter(f => f);
105+
searchForm.frameworks.value = "";
106+
searchForm.tfms.value = "";
107+
108+
inputFrameworkFilters.map(id => document.getElementById(id)).forEach(checkbox => checkbox.click());
109+
inputTfmFilters.map(id => document.getElementById(id)).forEach(checkbox => checkbox.click());
110+
}
111111
});

src/NuGetGallery/Views/Shared/ListPackages.cshtml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,14 @@
8282
<fieldset id="frameworkfilters">
8383
<legend>
8484
Frameworks
85-
<a href="@(Model.TargetFrameworkInformationLink)">
85+
<a href="@(Model.TargetFrameworkInformationLink)" title="Frameworks filter information">
8686
<i class="framework-filter-info-icon ms-Icon ms-Icon--Info" tabindex="0"
8787
data-content="@Strings.FrameworkFilterInformation_Tooltip"
8888
alt="@Strings.FrameworkFilterInformation_Tooltip"></i>
8989
</a>
9090
</legend>
91-
<input type="text" hidden id="frameworks" name="frameworks" value="@Model.Frameworks">
92-
<input type="text" hidden id="tfms" name="tfms" value="@Model.Tfms">
93-
@foreach (var framework in Model.FrameworkFilters.Values) {
91+
@foreach (var framework in Model.FrameworkFilters.Values)
92+
{
9493
@AddFrameworkGroupOption(framework.ShortName, framework.DisplayName, framework.Tfms);
9594
}
9695
</fieldset>
@@ -134,6 +133,8 @@
134133
</div>
135134

136135
</div>
136+
<input type="text" hidden id="frameworks" name="frameworks" value="@Model.Frameworks">
137+
<input type="text" hidden id="tfms" name="tfms" value="@Model.Tfms">
137138
<input type="hidden" id="prerel" name="prerel" value="@Model.IncludePrerelease.ToString()">
138139
</div>
139140
}

0 commit comments

Comments
 (0)