Download the PHP package polysource/easyadmin-filter-bridge without Composer

On this page you can find all versions of the php package polysource/easyadmin-filter-bridge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package easyadmin-filter-bridge

polysource/easyadmin-filter-bridge

Drop-in package that enriches the filters of an existing EasyAdmin v5 app without forking EasyAdmin. Plugs into EasyAdmin's FilterConfiguratorInterface extension point.

Status

v0.5.7 published (2026-05-15). API release-candidate stable — committed for v0.5.x, breaking changes allowed before v1.0 (cf. ADR-012). Distributed on Packagist as polysource/easyadmin-filter-bridge.

Feature-complete on the bridge side, dogfooded on multi-tenant client integrations through v0.5.7:

What it does

Once installed, EasyAdmin's built-in filters gain richer form types, without any change to your existing CRUD controllers:

Built-in filter Enhancement
DateTimeFilter Dedicated block prefix (polysource_enhanced_datetime_filter) + presets (today / last 7 days / …) + show_clear button.
BooleanFilter Optional include_null flag — adds a third "Empty / Null" choice to filter rows where the column is NULL.
TextFilter Optional min_length flag — skip filter for input shorter than the threshold (default 0 = no threshold).
NumericFilter step option (granularity hint, e.g. 0.01 for currency) + quick_ranges buttons.
ChoiceFilter inline option — render choices as pills/badges instead of dropdown.
ComparisonFilter comparisons option — whitelist of operators to expose in the dropdown (default [] = all).
ArrayFilter chip_display option — selected items as removable chips instead of multi-line list.
EntityFilter placeholder option — custom placeholder text for the dropdown / autocomplete.

Plus, list-level capabilities layered on top:

Installation

The bundle auto-registers via Symfony Flex. If you don't use Flex, add it manually to config/bundles.php:

Zero configuration needed. As soon as the bundle is loaded, the shipped Configurators auto-tag themselves via EasyAdmin's registerForAutoconfiguration(FilterConfiguratorInterface::class), and EasyAdmin's FilterFactory picks them up to mutate filter DTOs right after they are created.

Frontend assets (filter modal tabs / chips / saved-views)

The richer modal layout (tabs + accordions for dozens of filters) and the chips bar above the table are powered by Stimulus controllers shipped under assets/controllers/. EasyAdmin auto-loads them when the bundle is autoconfigured only if your host app uses Symfony AssetMapper or Webpack Encore + StimulusBundle.

If the modal opens flat (no tabs, all filters stacked) or the chips do not appear, your host is most likely missing the AssetMapper wiring. Two-step fix:

  1. Make sure symfony/asset-mapper and symfony/stimulus-bundle are installed and framework.yaml enables both.
  2. In your assets/bootstrap.js (or app.js), confirm the auto-load line is present:

  3. Then make sure EasyAdmin pages include your importmap. EasyAdmin uses its own bundled assets by default and ignores the host importmap, so add it back via your Dashboard:

Without this last step the Stimulus controllers ship in the bundle but never boot on EasyAdmin pages — the modal stays flat.

Saved views (POST routes)

polysource/filter ships a saved-views feature (dropdown, save, load, delete). The bridge wires the create / delete routes for EasyAdmin out of the box — they live at:

To enable them, add the bridge controller directory to your config/routes.yaml:

A BeforeCrudActionEvent subscriber also expands ?view=<id> into the EA filters[...]=... query and redirects to a clean URL — no host code needed.

Quick start

Take any existing EasyAdmin CRUD controller:

After installing this bridge, the same code automatically:

To opt-in to per-resource overrides, pass formTypeOptions to the upstream filter:

How the seam works

No EasyAdmin code is modified. We only attach more services to the existing extension point.

The full audit trail of seams used (and one that is not available — the EntityRepositoryInterface returns Doctrine\ORM\QueryBuilder, which blocks non-Doctrine sources) is in ADR-012 §Vérification technique.

Writing your own enhancer

Want to add a custom Configurator (e.g. a richer TextFilter with mode-toggle "exact / starts-with / contains")? The pattern is small:

With Symfony's autowiring + autoconfiguration (default), it gets auto-tagged ea.filter_configurator. Done. No service.yaml entry, no compiler pass, no fork.

Testing

Unit tests live in tests/Unit/Configurator/ — they instantiate real FilterDto instances (not mocks), run our supports() + configure(), and assert the DTO mutations. EntityDto and AdminContext are final in EasyAdmin v5, so the tests use (new ReflectionClass(...))->newInstanceWithoutConstructor() to satisfy the typehints without coupling to internal shape — the Configurators never read either argument.

Compatibility

Architectural decisions

License

MIT — see LICENSE.


All versions of easyadmin-filter-bridge with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
easycorp/easyadmin-bundle Version ^4.24 || ^5.0
polysource/filter Version ^0.1 || ^0.5 || ^0.7 || ^0.9
symfony/config Version ^5.4 || ^6.0 || ^7.0 || ^8.0
symfony/dependency-injection Version ^5.4 || ^6.0 || ^7.0 || ^8.0
symfony/form Version ^5.4 || ^6.0 || ^7.0 || ^8.0
symfony/http-kernel Version ^5.4 || ^6.0 || ^7.0 || ^8.0
symfony/translation Version ^5.4 || ^6.0 || ^7.0 || ^8.0
symfony/yaml Version ^5.4 || ^6.0 || ^7.0 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package polysource/easyadmin-filter-bridge contains the following files

Loading the files please wait ...