From f25d340738fad84d87b19ee995fb665ae0974d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric?= Date: Thu, 6 Oct 2022 03:47:19 -0400 Subject: [PATCH] Add option to make active list filters more visible. #178 * add option to make active list filters more visible * fix margins and border radius for selected filters --- .../0026_theme_list_filter_highlight.py | 18 +++++++++++++ admin_interface/models.py | 3 +++ .../admin_interface/css/admin-interface.css | 25 ++++++++++++++++++- .../css/list-filter-dropdown.css | 6 ++++- .../templates/admin/base_site.html | 1 + admin_interface/templates/admin/filter.html | 7 +++--- .../admin_interface/dropdown_filter.html | 2 +- 7 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 admin_interface/migrations/0026_theme_list_filter_highlight.py diff --git a/admin_interface/migrations/0026_theme_list_filter_highlight.py b/admin_interface/migrations/0026_theme_list_filter_highlight.py new file mode 100644 index 0000000..d64375c --- /dev/null +++ b/admin_interface/migrations/0026_theme_list_filter_highlight.py @@ -0,0 +1,18 @@ +# Generated by Django 4.0.7 on 2022-09-28 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0025_theme_language_chooser_control'), + ] + + operations = [ + migrations.AddField( + model_name='theme', + name='list_filter_highlight', + field=models.BooleanField(default=True, verbose_name='highlight active'), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index 63b8b3d..8bda743 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -331,6 +331,9 @@ class Theme(models.Model): default=True, verbose_name=_("close button visible") ) + list_filter_highlight = models.BooleanField( + default=True, verbose_name=_("highlight active") + ) list_filter_dropdown = models.BooleanField( default=True, verbose_name=_("use dropdown") ) diff --git a/admin_interface/static/admin_interface/css/admin-interface.css b/admin_interface/static/admin_interface/css/admin-interface.css index 618a34b..1de719d 100644 --- a/admin_interface/static/admin_interface/css/admin-interface.css +++ b/admin_interface/static/admin_interface/css/admin-interface.css @@ -388,12 +388,35 @@ text-decoration: none; } +.admin-interface.list-filter-highlight .module.filtered #changelist-filter h3.active { + font-weight: bold; +} + +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected { + color: var(--admin-interface-module-text-color); + background: var(--admin-interface-module-background-color); + margin-left: -10px; + padding-left: 5px; + margin-right: -10px; + border-left: 5px solid var(--admin-interface-module-background-color); + border-right: 5px solid var(--admin-interface-module-background-color); + border-radius: var(--admin-interface-module-border-radius); +} + +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a, +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:link, +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:visited, +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:focus, +.admin-interface.list-filter-highlight .module.filtered #changelist-filter ul.active li.selected a:hover { + background: inherit; + color: inherit; +} + .admin-interface .module.filtered #changelist-filter li.selected a, .admin-interface .module.filtered #changelist-filter li.selected a:link, .admin-interface .module.filtered #changelist-filter li.selected a:visited, .admin-interface .module.filtered #changelist-filter li.selected a:focus, .admin-interface .module.filtered #changelist-filter li.selected a:hover { - /* color: #666; */ color: var(--admin-interface-generic-link-hover-color); } diff --git a/admin_interface/static/admin_interface/css/list-filter-dropdown.css b/admin_interface/static/admin_interface/css/list-filter-dropdown.css index 2d20a7d..818142c 100644 --- a/admin_interface/static/admin_interface/css/list-filter-dropdown.css +++ b/admin_interface/static/admin_interface/css/list-filter-dropdown.css @@ -15,4 +15,8 @@ list-filter-dropdown background-color: #FFFFFF; width: calc(100% - 30px); margin-right: 15px; -} \ No newline at end of file +} + +.admin-interface.list-filter-highlight .list-filter-dropdown h3.active + div select { + font-weight: bold; +} diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index c676834..d360f7a 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -142,6 +142,7 @@ flat-theme admin-interface {% if theme.foldable_apps %} foldable-apps {% endif %} {% if theme.form_submit_sticky %} sticky-submit {% endif %} {% if theme.form_pagination_sticky %} sticky-pagination {% endif %} +{% if theme.list_filter_highlight %} list-filter-highlight {% endif %} {% if theme.list_filter_sticky %} list-filter-sticky {% endif %} {% endblock %} diff --git a/admin_interface/templates/admin/filter.html b/admin_interface/templates/admin/filter.html index 1b8e5b4..1ec7a39 100644 --- a/admin_interface/templates/admin/filter.html +++ b/admin_interface/templates/admin/filter.html @@ -8,10 +8,10 @@ {% else %} - {# Use the default list filter template -> https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/filter.html #} + {# Use a changed default list filter template -> https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/filter.html #} -

{% blocktrans with filter_title=title %} By {{ filter_title }} {% endblocktrans %}

-