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

Commit ee1fed1

Browse files
author
Robert Messerle
committed
fix(chips): makes sure that input is cleared when selecting a chip
Closes #3575
1 parent 5f1c94b commit ee1fed1

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/components/autocomplete/js/autocompleteController.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
135135
$attrs.$observe('disabled', function (value) { ctrl.isDisabled = value; });
136136
$attrs.$observe('required', function (value) { ctrl.isRequired = value !== null; });
137137
$scope.$watch('searchText', wait ? $mdUtil.debounce(handleSearchText, wait) : handleSearchText);
138-
registerSelectedItemWatcher(selectedItemChange);
139-
$scope.$watch('selectedItem', handleSelectedItemChange);
138+
$scope.$watch('selectedItem', selectedItemChange);
140139
angular.element($window).on('resize', positionDropdown);
141140
$scope.$on('$destroy', cleanup);
142141
}
@@ -236,6 +235,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
236235
if (selectedItem) {
237236
getDisplayValue(selectedItem).then(function(val) {
238237
$scope.searchText = val;
238+
handleSelectedItemChange(selectedItem, previousSelectedItem);
239239
});
240240
}
241241

@@ -249,6 +249,9 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
249249
angular.isFunction($scope.itemChange) && $scope.itemChange(getItemAsNameVal($scope.selectedItem));
250250
}
251251

252+
/**
253+
* Use the user-defined expression to announce changes each time the search text is changed
254+
*/
252255
function announceTextChange() {
253256
angular.isFunction($scope.textChange) && $scope.textChange();
254257
}
@@ -260,9 +263,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
260263
* @param previousSelectedItem
261264
*/
262265
function handleSelectedItemChange(selectedItem, previousSelectedItem) {
263-
for (var i = 0; i < selectedItemWatchers.length; ++i) {
264-
selectedItemWatchers[i](selectedItem, previousSelectedItem);
265-
}
266+
selectedItemWatchers.forEach(function (watcher) { watcher(selectedItem, previousSelectedItem); });
266267
}
267268

268269
/**

src/components/chips/chips.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ describe('<md-chips>', function() {
163163

164164
expect(scope.items.length).toBe(4);
165165
expect(scope.items[3]).toBe('Kiwi');
166+
expect(element.find('input').val()).toBe('');
166167
}));
167168
});
168169

0 commit comments

Comments
 (0)