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 app (4.24+ or 5.0+) without forking EasyAdmin. Plugs into EasyAdmin's FilterConfiguratorInterface extension point.

Status

v1.1.0 published (2026-08-07). The public API is frozen under strict SemVer since v1.0.0 (2026-08-06) — breaking changes only in a new major (cf. ADR-012). Distributed on Packagist as polysource/easyadmin-filter-bridge.

Feature-complete on the bridge side, dogfooded on multi-tenant client integrations since 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) for theme overrides.
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).
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:

A provider returns a RowDetail (from polysource/core), and it has two shapes. RowDetail::template() renders your own Twig and needs nothing beyond this bundle. RowDetail::listing() embeds another Polysource resource as the panel — a nested, paged, read-only table — and that renderer lives in polysource/symfony-bundle, so install it alongside the bridge if you want the listing shape.

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 — server-rendered first, Stimulus optional

The filter modal tabs, group accordions, and the chips bar are server-rendered — zero JavaScript required (since v0.2.0, per ADR-027 progressive enhancement). Tabs use native <details name="..."> exclusive accordions, pane switching is pure CSS, and every chip's × button is a plain link.

Two kinds of assets ship with the bundle:

  1. A stylesheet + a small defensive script in Resources/public/, published to public/bundles/polysourceeasyadminfilterbridge/ by assets:install (Symfony Flex runs it automatically). The bridge's index template links them itself — nothing to wire. Theming is done through --polysource-* CSS variables — see the theming guide.
  2. Two optional Stimulus controllers. polysource--filter ships here (assets/controllers/) and progressively enhances the filter widgets: preset buttons, quick-ranges, clear buttons, validation hints. polysource--row-details drives the row-detail panel (loading / error / retry states, client-side cache, ARIA) and ships from polysource/filter — the same controller the native polysource/symfony-bundle listing uses, so there is one implementation, not two. Hosts using AssetMapper or Webpack Encore
    • StimulusBundle get both auto-loaded via the assets/package.json advertisements; hosts without any JS pipeline simply keep the server-rendered behaviour.

If you use AssetMapper, remember EasyAdmin ignores the host importmap by default — add it back via your Dashboard so the optional controller boots on admin pages:

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:

They are auto-imported — along with the 7 other polysource_* routes — by Bundle::boot() since v0.5.4, so no routes.yaml change is needed. Multi-tenant hosts mounting EA under a custom prefix can opt out with auto_register_routes: false and import @PolysourceEasyAdminFilterBridge/Resources/config/routes.php under their own prefix instead.

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

Cf. ADR-015 — multi-version baseline; CI runs the full matrix.

Architectural decisions

License

MIT — see LICENSE.


All versions of easyadmin-filter-bridge with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
doctrine/orm Version ^2.20 || ^3.0
easycorp/easyadmin-bundle Version ^4.24 || ^5.0
polysource/core Version ^0.1 || ^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6 || ^0.7 || ^0.8 || ^0.9 || ^0.10 || ^0.11 || ^1.0
polysource/filter Version ^0.1 || ^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6 || ^0.7 || ^0.8 || ^0.9 || ^0.10 || ^0.11 || ^1.0
symfony/asset Version ^6.4 || ^7.0 || ^8.0
symfony/config Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/form Version ^6.4 || ^7.0 || ^8.0
symfony/http-kernel Version ^6.4 || ^7.0 || ^8.0
symfony/translation Version ^6.4 || ^7.0 || ^8.0
symfony/yaml Version ^6.4 || ^7.0 || ^8.0
twig/twig Version ^3.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 ...