mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-25 00:31:55 +00:00
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
|
'use strict';
|
||
|
{
|
||
|
const $ = django.jQuery;
|
||
|
const init = function($element, options) {
|
||
|
const settings = $.extend({
|
||
|
ajax: {
|
||
|
data: function(params) {
|
||
|
return {
|
||
|
term: params.term,
|
||
|
page: params.page,
|
||
|
app_label: $element.data('app-label'),
|
||
|
model_name: $element.data('model-name'),
|
||
|
field_name: $element.data('field-name')
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
}, 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));
|
||
|
}
|