Skip to content

Commit

Permalink
Display the active filters breadcrumbs in dependencies tab #138
Browse files Browse the repository at this point in the history
Signed-off-by: tdruez <tdruez@nexb.com>
  • Loading branch information
tdruez committed Jul 24, 2024
1 parent 341e153 commit b7076bd
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 10 deletions.
24 changes: 15 additions & 9 deletions dje/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,22 @@ def is_active(self):
def get_query_no_sort(self):
return remove_field_from_query_dict(self.data, "sort")

def get_filter_breadcrumb(self, field_name, data_field_name, value):
return {
"label": self.filters[field_name].label,
"value": value,
"remove_url": remove_field_from_query_dict(self.data, data_field_name, value),
}

def get_filters_breadcrumbs(self):
return [
{
"label": self.filters[field_name].label,
"value": value,
"remove_url": remove_field_from_query_dict(self.data, field_name, value),
}
for field_name in self.form.changed_data
for value in self.data.getlist(field_name)
]
breadcrumbs = []

for field_name in self.form.changed_data:
data_field_name = f"{self.form_prefix}-{field_name}" if self.form_prefix else field_name
for value in self.data.getlist(data_field_name):
breadcrumbs.append(self.get_filter_breadcrumb(field_name, data_field_name, value))

return breadcrumbs


class DataspacedFilterSet(FilterSetUtilsMixin, django_filters.FilterSet):
Expand Down
2 changes: 1 addition & 1 deletion dje/templates/includes/filters_breadcrumbs.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% for filter in filterset.get_filters_breadcrumbs %}
<a href="?{% if filter.remove_url %}{{ filter.remove_url }}{% else %}all=true{% endif %}" class="text-decoration-none">
<a href="?{% if filter.remove_url %}{{ filter.remove_url }}{% else %}all=true{% endif %}" class="text-decoration-none me-1">
<span class="badge text-bg-secondary rounded-pill ">
{{ filter.label }}: "{{ filter.value|truncatechars:40 }}" <i class="fas fa-times-circle"></i>
</span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
</div>
</li>
</ul>
<div class="mt-1">
{% include 'includes/filters_breadcrumbs.html' with filterset=filter_dependency only %}
</div>
</div>
<div class="col-auto">
{% include 'pagination/object_list_pagination.html' with hx_target=tab_id_html %}
Expand Down

0 comments on commit b7076bd

Please sign in to comment.