'use strict'; { const $ = django.jQuery; const init = function($element, options) { const settings = $.extend({ ajax: { data: function(params) { return { term: params.term, page: params.page }; } } }, options); $element.select2(settings); }; $.fn.djangoAdminSelect2 = function(options) { const settings = $.extend({}, options); $.each(this, function(i, element) { const $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)); }