autocomplete.js
37 lines
| 1.1 KiB
| application/javascript
|
JavascriptLexer
r338 | (function($) { | |||
'use strict'; | ||||
var init = function($element, options) { | ||||
var settings = $.extend({ | ||||
ajax: { | ||||
data: function(params) { | ||||
return { | ||||
term: params.term, | ||||
page: params.page | ||||
}; | ||||
} | ||||
} | ||||
}, options); | ||||
$element.select2(settings); | ||||
}; | ||||
$.fn.djangoAdminSelect2 = function(options) { | ||||
var settings = $.extend({}, options); | ||||
$.each(this, function(i, element) { | ||||
var $element = $(element); | ||||
init($element, settings); | ||||
}); | ||||
return this; | ||||
}; | ||||
$(function() { | ||||
// Initialize all autocomplete widgets except the one in the template | ||||
// form used when a new formset is added. | ||||
$('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); | ||||
}); | ||||
$(document).on('formset:added', (function() { | ||||
return function(event, $newFormset) { | ||||
return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); | ||||
}; | ||||
})(this)); | ||||
}(django.jQuery)); | ||||