diff --git a/src/argus/htmx/incidents/filter.py b/src/argus/htmx/incidents/filter.py index 03772e46c..344e0c705 100644 --- a/src/argus/htmx/incidents/filter.py +++ b/src/argus/htmx/incidents/filter.py @@ -10,13 +10,17 @@ QuerySetFilter = filter_backend.QuerySetFilter +class BadgeDropdownMultiSelect(DropdownMultiSelect): + template_name = "htmx/incidents/widgets/incident_source_select.html" + + class IncidentFilterForm(forms.Form): open = forms.BooleanField(required=False) closed = forms.BooleanField(required=False) acked = forms.BooleanField(required=False) unacked = forms.BooleanField(required=False) source = forms.MultipleChoiceField( - widget=DropdownMultiSelect( + widget=BadgeDropdownMultiSelect( attrs={"placeholder": "select sources..."}, extra={ "hx_get": "htmx:incidents-filter", diff --git a/src/argus/htmx/templates/htmx/forms/dropdown_select_multiple.html b/src/argus/htmx/templates/htmx/forms/dropdown_select_multiple.html index 8e42e3f8b..3abc553c5 100644 --- a/src/argus/htmx/templates/htmx/forms/dropdown_select_multiple.html +++ b/src/argus/htmx/templates/htmx/forms/dropdown_select_multiple.html @@ -14,7 +14,7 @@ {% for option in options %} {% if option.selected %} {% block show_selected %} - {{ option.label }} +

{{ option.label }},

{% endblock show_selected %} {% endif %} {% endfor %} diff --git a/src/argus/htmx/templates/htmx/incidents/widgets/incident_source_select.html b/src/argus/htmx/templates/htmx/incidents/widgets/incident_source_select.html new file mode 100644 index 000000000..f8120cbd4 --- /dev/null +++ b/src/argus/htmx/templates/htmx/incidents/widgets/incident_source_select.html @@ -0,0 +1,4 @@ +{% extends "htmx/forms/dropdown_select_multiple.html" %} +{% block show_selected %} + {{ option.label }} +{% endblock show_selected %}