Skip to content

Commit cc7e9f8

Browse files
Merge pull request #707 from dtaylor113/filter-panel-no-dup-keywords
chore(pfFilterPanel): Update ngDoc to show how to prevent duplicate keywords in filter
2 parents deaa897 + c6d46a4 commit cc7e9f8

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/filters/examples/filter-panel.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -235,14 +235,26 @@
235235
236236
$scope.onKeywordKeyPress = function(keyEvent) {
237237
if (keyEvent.which === 13 && $scope.filterPanelModel[0].value.length > 0) {
238-
// store new keywoard filter value in values array
239-
$scope.filterPanelModel[0].values.push($scope.filterPanelModel[0].value);
238+
var currentKeyword = $scope.filterPanelModel[0].value;
239+
if(!keywordFilterExists(currentKeyword)) {
240+
// store new keywoard filter value in values array
241+
$scope.filterPanelModel[0].values.push(currentKeyword);
242+
applyFilters();
243+
}
240244
// remove the keyword value to show placeholder text
241245
delete $scope.filterPanelModel[0].value;
242-
applyFilters();
243246
}
244247
};
245248
249+
var keywordFilterExists = function (keyword) {
250+
return _.some( $scope.filterPanelModel[0].values, function(existingKeyword) {
251+
// case sensitive
252+
// return keyword === existingKeyword;
253+
// case insensitive:
254+
return keyword.toLowerCase() === existingKeyword.toLowerCase();
255+
});
256+
}
257+
246258
var applyFilters = function () {
247259
var newAppliedFilters = [];
248260
_.forEach($scope.filterPanelModel, function(filter) {

0 commit comments

Comments
 (0)