Skip to content

Commit 597d667

Browse files
authored
Merge pull request #1135 from vankessel/open1117
[Search] 'All' checked upon no filters. Fixes #1117
2 parents 01031de + 6cbdaa4 commit 597d667

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

platform/search/src/controllers/SearchMenuController.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ define(function () {
8080
// If there's still nothing in the filters string, there are no
8181
// filters selected
8282
if ($scope.ngModel.filtersString === '') {
83-
$scope.ngModel.filtersString = 'NONE';
83+
$scope.ngModel.checkAll = true;
8484
}
8585
}
8686

@@ -95,12 +95,11 @@ define(function () {
9595
$scope.ngModel.checked[type] = false;
9696
});
9797

98-
// Change the filters string depending on checkAll status
99-
if ($scope.ngModel.checkAll) {
100-
// This setting will make the filters display hidden
101-
$scope.ngModel.filtersString = '';
102-
} else {
103-
$scope.ngModel.filtersString = 'NONE';
98+
// This setting will make the filters display hidden
99+
$scope.ngModel.filtersString = '';
100+
// Do not let checkAll become unchecked when it is the only checked filter
101+
if (!$scope.ngModel.checkAll) {
102+
$scope.ngModel.checkAll = true;
104103
}
105104

106105
// Re-filter results

platform/search/test/controllers/SearchMenuControllerSpec.js

+7-5
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,16 @@ define(
7676
expect(mockScope.ngModel.filtersString).not.toEqual('');
7777
});
7878

79-
it("changing checkAll status updates the filter string", function () {
79+
it("changing checkAll status sets checkAll to true", function () {
8080
controller.checkAll();
81+
expect(mockScope.ngModel.checkAll).toEqual(true);
8182
expect(mockScope.ngModel.filtersString).toEqual('');
8283

8384
mockScope.ngModel.checkAll = false;
8485

8586
controller.checkAll();
86-
expect(mockScope.ngModel.filtersString).toEqual('NONE');
87+
expect(mockScope.ngModel.checkAll).toEqual(true);
88+
expect(mockScope.ngModel.filtersString).toEqual('');
8789
});
8890

8991
it("checking checkAll option resets other options", function () {
@@ -97,15 +99,16 @@ define(
9799
});
98100
});
99101

100-
it("tells the user when no options are checked", function () {
102+
it("checks checkAll when no options are checked", function () {
101103
Object.keys(mockScope.ngModel.checked).forEach(function (type) {
102104
mockScope.ngModel.checked[type] = false;
103105
});
104106
mockScope.ngModel.checkAll = false;
105107

106108
controller.updateOptions();
107109

108-
expect(mockScope.ngModel.filtersString).toEqual('NONE');
110+
expect(mockScope.ngModel.filtersString).toEqual('');
111+
expect(mockScope.ngModel.checkAll).toEqual(true);
109112
});
110113

111114
it("tells the user when options are checked", function () {
@@ -116,7 +119,6 @@ define(
116119

117120
controller.updateOptions();
118121

119-
expect(mockScope.ngModel.filtersString).not.toEqual('NONE');
120122
expect(mockScope.ngModel.filtersString).not.toEqual('');
121123
});
122124
});

0 commit comments

Comments
 (0)