Skip to content

Commit 35f051e

Browse files
committed
Hide in use search parameter suggestions, fixed issue #8
1 parent 5d9063f commit 35f051e

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Support to add, delete search parameters and change search parameter's values via ng-model, fixed issue #7 and #9
33
* change main proeprty of package.json to final build in dist folder, fixes #4
44
* use ng-if for search parameter input to avoid rendering issues and performance
5+
* Hide in use search parameter suggestions, fixed issue #8
56

67
### 1.1.1 - 03 February 2015
78
* update README with latest changes to dist files in bower package

src/angular-advanced-searchbox.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@
3333
ng-focus="focus = true"
3434
ng-blur="focus = false"
3535
typeahead-on-select="typeaheadOnSelect($item, $model, $label)"
36-
typeahead="parameter as parameter.name for parameter in parameters | filter:{name:$viewValue} | limitTo:8"
36+
typeahead="parameter as parameter.name for parameter in parameters | filter:isUnsedParameter | filter:{name:$viewValue} | limitTo:8"
3737
ng-change="searchQueryChanged(searchQuery)"
3838
ng-model="searchQuery" />
3939
</div>
4040
<div class="search-parameter-suggestions" ng-show="parameters && focus">
4141
<span class="title">Parameter Suggestions:</span>
42-
<span class="search-parameter" ng-repeat="param in parameters | limitTo:8" ng-mousedown="addSearchParam(param)">{{param.name}}</span>
42+
<span class="search-parameter" ng-repeat="param in parameters | filter:isUnsedParameter | limitTo:8" ng-mousedown="addSearchParam(param)">{{param.name}}</span>
4343
</div>
4444
</div>

src/angular-advanced-searchbox.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,17 @@ angular.module('angular-advanced-searchbox', [])
9393
updateModel('delete', 'query');
9494
};
9595

96+
$scope.isUnsedParameter = function (value, index) {
97+
return $filter('filter')($scope.searchParams, function (param) { return param.key === value.key; }).length === 0;
98+
};
99+
96100
$scope.addSearchParam = function (searchParam, value, enterEditModel) {
97101
if (enterEditModel === undefined)
98102
enterEditModel = true;
99103

104+
if (!$scope.isUnsedParameter(searchParam))
105+
return;
106+
100107
$scope.searchParams.push(
101108
{
102109
key: searchParam.key,
@@ -107,8 +114,6 @@ angular.module('angular-advanced-searchbox', [])
107114
}
108115
);
109116

110-
//TODO: hide used suggestion
111-
112117
updateModel('add', searchParam.key, value);
113118
};
114119

@@ -119,17 +124,13 @@ angular.module('angular-advanced-searchbox', [])
119124
var searchParam = $scope.searchParams[index];
120125
$scope.searchParams.splice(index, 1);
121126

122-
//TODO: show hidden/removed suggestion
123-
124127
updateModel('delete', searchParam.key);
125128
};
126129

127130
$scope.removeAll = function() {
128131
$scope.searchParams.length = 0;
129132
$scope.searchQuery = '';
130133

131-
//TODO: show hidden/removed suggestion
132-
133134
$scope.model = {};
134135
};
135136

0 commit comments

Comments
 (0)