summaryrefslogtreecommitdiff
path: root/src/static/admin/js/autocomplete.js
diff options
context:
space:
mode:
authorckonstanski <kostcarl@isu.edu>2026-07-30 17:56:41 -0600
committerckonstanski <kostcarl@isu.edu>2026-07-30 17:56:41 -0600
commitcfb4bf6be1b18ec15cddbec1ea37e76176b1050b (patch)
tree1bbe88bca7ea6282296a9cfb16b6e52bd16c6f38 /src/static/admin/js/autocomplete.js
parentaeab73540c306e5f906bccc444c252d8ad2adc34 (diff)
initial commit
Diffstat (limited to 'src/static/admin/js/autocomplete.js')
-rw-r--r--src/static/admin/js/autocomplete.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/static/admin/js/autocomplete.js b/src/static/admin/js/autocomplete.js
new file mode 100644
index 0000000..65c0702
--- /dev/null
+++ b/src/static/admin/js/autocomplete.js
@@ -0,0 +1,37 @@
+(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));