Skip to content

Commit f2c5f39

Browse files
committed
Only do typeahead query if necessary.
angular-ui/bootstrap#993
1 parent b5493cb commit f2c5f39

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

app/assets/javascripts/events.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ angular.module('events', ['rails', 'ui.bootstrap', 'alerts'])
3333
name: 'player'
3434
});
3535
}])
36-
.controller('InjuryEditCtrl', ['$scope', 'Player', 'Injury', 'EventListingService', 'AlertBroker', function($scope, Player, Injury, EventListingService, AlertBroker) {
36+
.controller('InjuryEditCtrl', ['$scope', 'Player', 'Injury', 'EventListingService', 'AlertBroker', 'limitToFilter', '$filter', function($scope, Player, Injury, EventListingService, AlertBroker, limitToFilter, $filter) {
3737
// init params
3838
$scope.type = 'injury';
3939

@@ -55,9 +55,13 @@ angular.module('events', ['rails', 'ui.bootstrap', 'alerts'])
5555
};
5656

5757
// populate typeahead
58-
Player.query({typeahead: true}).then(function(resp) {
59-
$scope.players = resp;
60-
});
58+
$scope.getPlayers = function(substring) {
59+
return Player.query(
60+
{typeahead: true}
61+
).then(function(resp) {
62+
return limitToFilter( $filter('filter')(resp, substring), 8);
63+
});
64+
};
6165

6266
// trigger update
6367
$scope.add = function() {

app/views/partials/_event_form.html.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
option(value="fixture" ng-selected="type=='fixture'") Fixture
77
option(value="injury" ng-selected="type=='injury'") Injury
88
.form-group.myPadding
9-
input.form-control(name="player" autofocus type="text" ng-model="event.selected_player" typeahead="player as player.tickerAndName for player in players | filter:$viewValue | limitTo:8" placeholder="Player" ng-required="true")
9+
input.form-control(name="player" autofocus type="text" ng-model="event.selected_player" typeahead="player.tickerAndName for player in getPlayers($viewValue)" placeholder="Player" ng-required="true")
1010
.form-group.myPadding
1111
input.form-control(type="text" datepicker-popup="{{format}}" ng-model="event.returnDate" is-open="opened" min="minDate" max="'2015-06-22'" datepicker-options="dateOptions" close-text="Close" placeholder="Return date")
1212
.form-group.myPadding

0 commit comments

Comments
 (0)