33 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
{
 | 
						|
    const $ = django.jQuery;
 | 
						|
 | 
						|
    $.fn.djangoAdminSelect2 = function() {
 | 
						|
        $.each(this, function(i, element) {
 | 
						|
            $(element).select2({
 | 
						|
                ajax: {
 | 
						|
                    data: (params) => {
 | 
						|
                        return {
 | 
						|
                            term: params.term,
 | 
						|
                            page: params.page,
 | 
						|
                            app_label: element.dataset.appLabel,
 | 
						|
                            model_name: element.dataset.modelName,
 | 
						|
                            field_name: element.dataset.fieldName
 | 
						|
                        };
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            });
 | 
						|
        });
 | 
						|
        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.addEventListener('formset:added', (event) => {
 | 
						|
        $(event.target).find('.admin-autocomplete').djangoAdminSelect2();
 | 
						|
    });
 | 
						|
}
 |