30 lines
902 B
JavaScript
30 lines
902 B
JavaScript
|
'use strict';
|
||
|
define(
|
||
|
[
|
||
|
'app',
|
||
|
'Series/SeriesCollection'
|
||
|
], function (App, SeriesCollection) {
|
||
|
$.fn.bindSearch = function () {
|
||
|
$(this).typeahead({
|
||
|
source : function () {
|
||
|
return SeriesCollection.map(function (model) {
|
||
|
return model.get('title');
|
||
|
});
|
||
|
},
|
||
|
|
||
|
sorter: function (items) {
|
||
|
return items.sort();
|
||
|
},
|
||
|
|
||
|
updater: function (item) {
|
||
|
var series = SeriesCollection.find(function (model) {
|
||
|
return model.get('title') === item;
|
||
|
});
|
||
|
|
||
|
this.$element.blur();
|
||
|
App.Router.navigate('/series/{0}'.format(series.get('titleSlug')), { trigger: true });
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
});
|