Overview
Drupal core provides a helpful filter input on the Extend page (/admin/modules) that lets administrators quickly find modules by typing part of the name. This module brings that same filtering capability to other admin listing pages like Content types, Vocabularies, Menus, and more.
Zero configuration required — just install and filtering is automatically available on supported admin pages.
Features
- Instant client-side filtering as you type
- No custom JavaScript — reuses Drupal core's proven
system/drupal.system.moduleslibrary - Zero configuration — works immediately after installation
- Supports both standard and draggable (weighted) entity lists
- Lightweight — minimal code footprint
How It Works
The module uses hook_entity_type_alter() to replace the default list builder class for each supported entity type with a custom class that adds filtering capability.
Each custom list builder:
- Extends the original core list builder — preserving all existing functionality
- Uses a trait to add the filter input and required markup:
FilterableListBuilderTraitfor standard list buildersFilterableDraggableListBuilderTraitfor draggable (weighted) list builders
- Adds a search input above the table with the
table-filter-textclass - Adds the
table-filter-text-sourceclass to searchable table cells - Attaches the
system/drupal.system.moduleslibrary which provides the filtering JavaScript
The filtering happens entirely client-side using core's existing JavaScript — no AJAX requests, no server load.
Supported Entity Types
Core Entity Types (17)
| Entity Type | Admin Path | List Builder Type |
|---|---|---|
| block_content_type | /admin/structure/block-content | Standard |
| comment_type | /admin/structure/comment | Standard |
| configurable_language | /admin/config/regional/language | Draggable |
| contact_form | /admin/structure/contact | Standard |
| date_format | /admin/config/regional/date-time | Standard |
| field_storage_config | /admin/reports/fields | Standard |
| filter_format | /admin/config/content/formats | Draggable |
| image_style | /admin/config/media/image-styles | Standard |
| media_type | /admin/structure/media | Standard |
| menu | /admin/structure/menu | Standard |
| node_type | /admin/structure/types | Standard |
| responsive_image_style | /admin/config/media/responsive-image-style | Standard |
| search_page | /admin/config/search/pages | Draggable |
| shortcut_set | /admin/config/user-interface/shortcut | Standard |
| taxonomy_vocabulary | /admin/structure/taxonomy | Draggable |
| user_role | /admin/people/roles | Draggable |
| workflow | /admin/config/workflow/workflows | Standard |
Contrib Entity Types (2)
These are only enabled if the respective module is installed:
| Entity Type | Admin Path | Module Required |
|---|---|---|
| pathauto_pattern | /admin/config/search/path/patterns | Pathauto |
| metatag_defaults | /admin/config/search/metatag | Metatag |
Not Supported
The following admin pages are not supported due to incompatible rendering structures:
| Admin Path | Reason |
|---|---|
| /admin/structure/display-modes/form | Grouped tables by entity type — filter cannot hide section headers |
| /admin/structure/display-modes/view | Grouped tables by entity type — filter cannot hide section headers |
| /admin/structure/block | Complex region-based layout with drag-and-drop |
Requirements
- Drupal 10.3+ or Drupal 11
Installation
Install as you would any Drupal module:
composer require drupal/admin_list_filter drush en admin_list_filter drush cr
Project information
- Project categories: Administration tools
- Ecosystem: Administration
1 site reports using this module
- Created by chris matthews on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
