From ca167c0172bf1771a08edaf53766af4c7299985e Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Thu, 24 Feb 2022 09:11:32 +0000 Subject: [PATCH] Hopefully fix #3556. - Legacy-Id: 19978 --- ietf/meeting/forms.py | 9 +++++++++ ietf/static/js/meeting-interim-request.js | 12 +----------- ietf/static/js/select2.js | 1 + 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py index f713c5b77..50dcfd5ca 100644 --- a/ietf/meeting/forms.py +++ b/ietf/meeting/forms.py @@ -105,6 +105,8 @@ class InterimSessionInlineFormSet(BaseInlineFormSet): class InterimMeetingModelForm(forms.ModelForm): group = GroupModelChoiceField(queryset=Group.objects.filter(type_id__in=GroupFeatures.objects.filter(has_meetings=True).values_list('type_id',flat=True), state__in=('active', 'proposed', 'bof')).order_by('acronym'), required=False, empty_label="Click to select") + group.widget.attrs['data-max-entries'] = 1 + group.widget.attrs['data-minimum-input-length'] = 0 in_person = forms.BooleanField(required=False) meeting_type = forms.ChoiceField(choices=( ("single", "Single"), @@ -120,7 +122,14 @@ class InterimMeetingModelForm(forms.ModelForm): city = forms.CharField(max_length=255, required=False) city.widget.attrs['placeholder'] = "City" country = forms.ChoiceField(choices=countries, required=False) + country.widget.attrs['class'] = "select2-field" + country.widget.attrs['data-max-entries'] = 1 + country.widget.attrs['data-placeholder'] = "Country" + country.widget.attrs['data-minimum-input-length'] = 0 time_zone = forms.ChoiceField(choices=timezones) + time_zone.widget.attrs['class'] = "select2-field" + time_zone.widget.attrs['data-max-entries'] = 1 + time_zone.widget.attrs['data-minimum-input-length'] = 0 class Meta: model = Meeting diff --git a/ietf/static/js/meeting-interim-request.js b/ietf/static/js/meeting-interim-request.js index d63160680..1d68abb6c 100644 --- a/ietf/static/js/meeting-interim-request.js +++ b/ietf/static/js/meeting-interim-request.js @@ -6,9 +6,6 @@ var interimRequest = { interimRequest.addButton = $('#add_session'); interimRequest.inPerson = $('#id_in_person'); interimRequest.timezone = $('#id_time_zone'); - // bind functions - $('.select2-field') - .select2(); interimRequest.addButton.on("click", interimRequest.addSession); $('.btn-delete') .on("click", interimRequest.deleteSession); @@ -33,8 +30,6 @@ var interimRequest = { .each(interimRequest.calculateEndTime); $('input[name$="-time"]') .each(interimRequest.updateInfo); - $('#id_country') - .select2({ placeholder: "Country" }); }, addSession: function () { @@ -81,11 +76,6 @@ var interimRequest = { template.before(el); el.removeClass("template visually-hidden"); - el.find(".select2-field") - .each(function () { - setupSelect2Field($(this)); - }); - // copy field contents var first_session = $(".fieldset:first"); el.find("input[name$='remote_instructions']") @@ -265,7 +255,7 @@ var interimRequest = { .prop('disabled', true); } } -} +}; $(document) .ready(function () { diff --git a/ietf/static/js/select2.js b/ietf/static/js/select2.js index 61417103a..3a3a0fdb6 100644 --- a/ietf/static/js/select2.js +++ b/ietf/static/js/select2.js @@ -7,6 +7,7 @@ $.fn.select2.defaults.set("allowClear", true); $.fn.select2.defaults.set("debug", false); $.fn.select2.defaults.set("dropdownCssClass", ":all:"); $.fn.select2.defaults.set("minimumInputLength", 2); +$.fn.select2.defaults.set("placeholder", ""); $.fn.select2.defaults.set("selectionCssClass", ":all:"); $.fn.select2.defaults.set("theme", "bootstrap-5"); $.fn.select2.defaults.set("width", "off");