Download the PHP package polysource/filter without Composer
On this page you can find all versions of the php package polysource/filter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download polysource/filter
More information about polysource/filter
Files in polysource/filter
Package filter
Short Description Polysource — standalone filter primitive: form/datasource separation, session persistence, mapper/formatter/renderer pipeline, multi-mode UI (integrated, subpanel) with chips bar.
License MIT
Homepage https://github.com/polysource/polysource
Informations about the package filter
polysource/filter
Filter primitives for Symfony admin UIs — usable standalone in any Symfony app, also the foundation of
polysource/easyadmin-filter-bridgeandpolysource/symfony-bundle.
Part of the Polysource monorepo. MIT-licensed.
What it ships
FilterCollection+FilterCriterion— immutable value objects representing the active filter state, scoped by a stableid(typically the resource FQCN).FilterService— session-backed persistence (load / save / clear per resource).FilterCollectionTypeform type +FilterHydrator— bind a whole filter collection to a Symfony form and hydrate it back into criteria. (The enhanced EasyAdmin form types — date presets, between, in, full-text — live inpolysource/easyadmin-filter-bridge, not here.)- The mapping pipeline —
FilterMapperInterface/FilterFormatterInterface/FilterRendererInterfaceplus their registries and a default triplet per filter kind (text, numeric, boolean, choice, datetime, entity, array-list). This is the URL → criteria → form → chip road, and every leg of it is swappable. - Twig extension
filter_tags— renders the active-filters chips bar. - Saved views —
SavedViewVO +SavedViewService+ Doctrine + in-memory storage adapters + Symfony voter for scope-aware visibility (private / team / public). See ADR-019. SavedViewExtensionTwig extension — renders the dropdown.- Column preferences —
ColumnPreferenceService+ Doctrine / in-memory storage + Twig extension: per-user column visibility and ordering. - Filter URL tokens —
FilterUrlTokenService+ storage, turning a long filter query into a short shareable link, with apolysource:filter-url-tokens:purgecommand for retention. - Recent records —
RecentRecordsService+ storage, the "recently viewed" trail per user. - Bulk action history —
BulkActionHistoryService+ storage +polysource:bulk-action-history:purge, an append-only log of bulk runs. -
Two Stimulus controllers under
assets/controllers/, advertised throughassets/package.jsonso AssetMapper and Encore + StimulusBundle pick them up automatically:polysource--filter-chips— chips-bar interactions.polysource--row-details— the expandable row-details panel. It ships from this package and is shared by both the EasyAdmin bridge and the nativepolysource/symfony-bundlelisting.
Both are progressive enhancement only: without a JS pipeline the server-rendered behaviour stands (per ADR-027).
Audience
Standalone usage targets:
- Sonata users wanting better filter UX
- API Platform back-offices
- Hand-rolled admin DIY
- Any Symfony app that builds filter forms manually
For EasyAdmin v5 hosts, install polysource/easyadmin-filter-bridge instead — it wraps this package with auto-discovery.
Install
Register the bundle in config/bundles.php:
Extend it
| Need | Implement |
|---|---|
| Persist saved views in Redis / Mongo / your HTTP service | SavedViewStorageInterface (4 methods: save / find / listVisible / delete) |
| Resolve which "team" a user belongs to (for shared views) | SavedViewTeamResolverInterface (1 method) |
| Format a chip your way ("3 statuses" instead of "paid, shipped, …") | ChipFormatterInterface (1 method, ADR-016) |
| Take over the URL → criteria → form pipeline | FilterMapperInterface / FilterFormatterInterface / FilterRendererInterface |
See the full extensibility map.
Documentation
All versions of filter with dependencies
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
symfony/config Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/event-dispatcher Version ^6.4 || ^7.0 || ^8.0
symfony/form Version ^6.4 || ^7.0 || ^8.0
symfony/http-foundation 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