Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.

Commit

Permalink
update(autocomplete): fixes issue that was causing unit tests to fail
Browse files Browse the repository at this point in the history
  • Loading branch information
Robert Messerle committed Feb 25, 2015
1 parent 70a884a commit 8488d36
Showing 1 changed file with 22 additions and 21 deletions.
43 changes: 22 additions & 21 deletions src/components/autocomplete/js/autocompleteController.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,31 +58,32 @@

function configureWatchers () {
var wait = parseInt($scope.delay, 10) || 0;
$scope.$watch('searchText', $mdUtil.debounce(function (searchText, previousSearchText) {
self.index = -1;
if (!searchText || searchText.length < Math.max(parseInt($scope.minLength, 10), 1)) {
self.loading = false;
self.matches = [];
self.hidden = shouldHide();
return;
}
var term = searchText.toLowerCase();
if (promise && promise.cancel) {
promise.cancel();
promise = null;
}
if (!$scope.noCache && cache[term]) {
self.matches = cache[term];
} else {
self.fetch(searchText);
}
self.hidden = shouldHide();
if ($scope.textChange && searchText !== previousSearchText) $scope.textChange(getItemScope($scope.selectedItem));
}, wait));
$scope.$watch('searchText', wait ? $mdUtil.debounce(handleSearchText, wait) : handleSearchText);
$scope.$watch('selectedItem', function (selectedItem, previousSelectedItem) {
if ($scope.itemChange && selectedItem !== previousSelectedItem) $scope.itemChange(getItemScope(selectedItem));
});
}
function handleSearchText (searchText, previousSearchText) {
self.index = -1;
if (!searchText || searchText.length < Math.max(parseInt($scope.minLength, 10), 1)) {
self.loading = false;
self.matches = [];
self.hidden = shouldHide();
return;
}
var term = searchText.toLowerCase();
if (promise && promise.cancel) {
promise.cancel();
promise = null;
}
if (!$scope.noCache && cache[term]) {
self.matches = cache[term];
} else {
self.fetch(searchText);
}
self.hidden = shouldHide();
if ($scope.textChange && searchText !== previousSearchText) $scope.textChange(getItemScope($scope.selectedItem));
}

function fetchResults (searchText) {
var items = $scope.$parent.$eval(itemExpr),
Expand Down

0 comments on commit 8488d36

Please sign in to comment.