From 4535c35b0a193d14d6315eafe69c92737663fbfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marduk=20Bola=C3=B1os?= Date: Mon, 5 Aug 2024 20:51:09 +0200 Subject: [PATCH 1/4] Select2Mixin now loads admin/js/jquery.init.js in order for i18n to work --- django_select2/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_select2/forms.py b/django_select2/forms.py index 69b1ee3c..f32fd78a 100644 --- a/django_select2/forms.py +++ b/django_select2/forms.py @@ -155,7 +155,7 @@ def media(self): i18n_file = [f"{settings.SELECT2_I18N_PATH}/{self.i18n_name}.js"] return forms.Media( - js=select2_js + i18n_file + ["django_select2/django_select2.js"], + js=select2_js + i18n_file + ["admin/js/jquery.init.js"] + ["django_select2/django_select2.js"], css={"screen": select2_css + ["django_select2/django_select2.css"]}, ) From e9bfe43ac933765ccd6c97af3050e7ad0f11c069 Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 8 Aug 2024 10:16:46 +0200 Subject: [PATCH 2/4] Update django_select2/forms.py --- django_select2/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_select2/forms.py b/django_select2/forms.py index f32fd78a..0aac16d6 100644 --- a/django_select2/forms.py +++ b/django_select2/forms.py @@ -155,7 +155,7 @@ def media(self): i18n_file = [f"{settings.SELECT2_I18N_PATH}/{self.i18n_name}.js"] return forms.Media( - js=select2_js + i18n_file + ["admin/js/jquery.init.js"] + ["django_select2/django_select2.js"], + js=select2_js + i18n_file + ["admin/js/jquery.init.js", "django_select2/django_select2.js"], css={"screen": select2_css + ["django_select2/django_select2.css"]}, ) From 06a06bc5a3f4ac324c0a27b94e49d3fb37ff176d Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 8 Aug 2024 10:18:03 +0200 Subject: [PATCH 3/4] Update django_select2/forms.py --- django_select2/forms.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/django_select2/forms.py b/django_select2/forms.py index 0aac16d6..730cc7a1 100644 --- a/django_select2/forms.py +++ b/django_select2/forms.py @@ -155,7 +155,9 @@ def media(self): i18n_file = [f"{settings.SELECT2_I18N_PATH}/{self.i18n_name}.js"] return forms.Media( - js=select2_js + i18n_file + ["admin/js/jquery.init.js", "django_select2/django_select2.js"], + js=select2_js + + i18n_file + + ["admin/js/jquery.init.js", "django_select2/django_select2.js"], css={"screen": select2_css + ["django_select2/django_select2.css"]}, ) From 7fdcd24875af450d7502f559ccb96bf3489c5dc6 Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 8 Aug 2024 10:28:24 +0200 Subject: [PATCH 4/4] Move admin patch to admin widget only --- django_select2/forms.py | 10 ++++++---- tests/test_forms.py | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/django_select2/forms.py b/django_select2/forms.py index 730cc7a1..85f84672 100644 --- a/django_select2/forms.py +++ b/django_select2/forms.py @@ -155,9 +155,7 @@ def media(self): i18n_file = [f"{settings.SELECT2_I18N_PATH}/{self.i18n_name}.js"] return forms.Media( - js=select2_js - + i18n_file - + ["admin/js/jquery.init.js", "django_select2/django_select2.js"], + js=select2_js + i18n_file + ["django_select2/django_select2.js"], css={"screen": select2_css + ["django_select2/django_select2.css"]}, ) @@ -171,8 +169,12 @@ class Select2AdminMixin: def media(self): css = {**AutocompleteMixin(None, None).media._css} css["screen"].append("django_select2/django_select2.css") + js = [*Select2Mixin().media._js] + js.insert( + js.index("django_select2/django_select2.js"), "admin/js/jquery.init.js" + ) return forms.Media( - js=Select2Mixin().media._js, + js=js, css=css, ) diff --git a/tests/test_forms.py b/tests/test_forms.py index ddb0f328..71b0b042 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -188,6 +188,7 @@ def test_media(self): assert tuple(Select2AdminMixin().media._js) == ( "admin/js/vendor/select2/select2.full.min.js", "admin/js/vendor/select2/i18n/en.js", + "admin/js/jquery.init.js", "django_select2/django_select2.js", )