43 lines
1005 B
JavaScript
43 lines
1005 B
JavaScript
(function($) {
|
|
|
|
var usdaFoodSearchEngine = new Bloodhound({
|
|
initialize: false,
|
|
datumTokenizer: function(datum) {
|
|
return Bloodhound.tokenizers.whitespace(datum.name);
|
|
},
|
|
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
|
identify: function(datum) { return datum.ndbn; },
|
|
sorter: function(a, b) {
|
|
if (a.name < b.name) {
|
|
return -1;
|
|
} else if (b.name < a.name) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
},
|
|
remote: {
|
|
url: '/ingredients/usda_food_search.json?query=%QUERY',
|
|
wildcard: '%QUERY'
|
|
}
|
|
});
|
|
|
|
$(document).on("ready page:load", function() {
|
|
var $ingredientForm = $("#ingredient_form");
|
|
|
|
if ($ingredientForm.length) {
|
|
usdaFoodSearchEngine.initialize(false);
|
|
}
|
|
|
|
$ingredientForm.find(".ndbn_typeahead").typeahead_selector({
|
|
|
|
},{
|
|
name: 'usdaFoods',
|
|
source: usdaFoodSearchEngine,
|
|
display: function(datum) {
|
|
return datum.name;
|
|
}
|
|
});
|
|
});
|
|
|
|
})(jQuery); |