diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py index 16dcfeba5..27fb4437e 100644 --- a/ietf/meeting/forms.py +++ b/ietf/meeting/forms.py @@ -115,6 +115,8 @@ class InterimMeetingModelForm(forms.ModelForm): 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=( @@ -137,7 +139,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 e0290d3b6..9ba763086 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" }); const remoteParticipations = $('select[id$="-remote_participation"]'); remoteParticipations.change( evt => interimRequest.updateRemoteInstructionsVisibility(evt.target) @@ -86,11 +81,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']") @@ -286,7 +276,7 @@ var interimRequest = { break; } } -} +}; $(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");