Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ux Datatables Laravel Package

pentiminax/ux-datatables

Symfony UX DataTables integration that adds interactive, AJAX-powered tables to Twig with server-side processing, configurable columns, and a simple PHP API for Symfony applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for back-office data grids. v1.2.0 closes several gaps that normally force a custom build: server-side cell formatting (formatValueUsing()), display-aware CSV/XLSX exports with translated headings and money/boolean labels, row-action success/error events, and bulk-action skip reporting. A team can now ship a formatted, exportable, auditable admin table without hand-rolling export formatting or action feedback.
  • Roadmap sequencing for admin/reporting surfaces. Formatting and exports landing together suggests the maintainers are targeting "operational reporting" use cases (finance, ops, support tooling) rather than pure CRUD. If your roadmap has a reporting or CSV-handoff milestone, this release shortens it.
  • Multi-tenant and permissions architecture. The Doctrine bulk-selection scope enforcement (forged cross-tenant identifiers excluded before handlers run, counted as skipped) is a security-relevant capability, not a nicety. It supports a decision to allow bulk mutations in tenant-scoped admin panels — with the caveat that API Platform tables and non-scoped providers still push enforcement into your handlers.
  • Real-time UX investment. Private Mercure updates (JWT-authorized topics) plus reconnect/reopen handling make live-refreshing tables viable for authenticated, per-user data — previously a reason to defer "live table" features.
  • Accessibility and trust as shipped defaults. Modal adapter with native fallback, accessible failure announcements, and escaped-by-default text (opt-in only for trusted HTML) reduce the compliance/QA workstream for internal tools.
  • Frontend integration choice. Automatic filter/bulk-action bar installation and removal of deep-import requirements lowers the cost of adopting Stimulus/Turbo conventions; the runnable Symfony demo becomes your evaluation and onboarding artifact.
  • Deprecation planning. removeDeniedColumnValues(), deep frontend imports, and confirmBulkAction() are marked for 2.0 removal — a concrete input to next-cycle maintenance budgeting.

When to Consider This Package

Adopt when most of these hold:

  • Your application is Symfony-based with Doctrine ORM entities backing the tables. (The bundle is Symfony UX, not Laravel — teams on Laravel should treat this as out of scope rather than adapt it.)
  • You need server-side paging, sorting, filtering, and export over datasets too large for client-side tables.
  • You want bulk mutations with real scope guarantees, and can either use Doctrine root entities (covered by the new scope enforcement) or accept handler-level enforcement for API Platform/custom providers.
  • You need CSV/XLSX export that matches the on-screen display (translated labels, money in currency units, formatted values) — and are willing to add the optional openspout/openspout dependency.
  • You are already on, or moving to, Stimulus/Turbo with Mercure for authenticated real-time updates.
  • You value accessible feedback and safe-by-default escaping over maximal flexibility in cell rendering.

Look elsewhere when:

  • You are on Laravel or a non-Symfony PHP stack — integration cost dominates any feature benefit.
  • You need spreadsheet-grade editing, formula support, or virtualized 100k-row client grids (a dedicated grid library is the better buy).
  • Your data lives behind Elasticsearch/OpenSearch or a non-Doctrine query layer — pagination fixes here are Doctrine-shaped, and custom providers carry more of the security burden.
  • You require strict BC guarantees; a 2.0 with announced removals is on the horizon, and v1.2 itself changes export output, money form submission, locale defaults, boolean filter semantics, and selection-column ordering offsets.
  • Your compliance posture forbids optional third-party export engines or requires you to own the Ajax route protection story end-to-end (the bundle explicitly leaves this to Symfony Security).

How to Pitch It (Stakeholders)

For executives: This is a mature, low-cost component that lets us ship internal admin and reporting tables faster instead of building them. The latest release adds display-accurate exports, per-row action feedback, and — most importantly — enforced tenant scoping on bulk operations, which materially reduces the risk of cross-customer data changes in admin tools. It is a Symfony/PHP component, so it only applies if we are on that stack; there is no licensing cost and the upgrade path is documented.

For engineering: v1.2.0 is a feature release with a required upgrade review. Key deltas: AbstractColumn::formatValueUsing() for server-side value transformation (client tables sort/search the formatted value; server tables query the underlying field); server-side exports now apply translated headings, choice labels, and money-in-currency formatting, with rawValues() as an escape hatch, and require openspout/openspout; row actions emit datatables:action:success / datatables:action:error through a modal adapter with native fallback; BulkActionContext::skip() distinguishes declined rows from processed ones (without rollback). Security: Doctrine explicit bulk selections are now scope-enforced via customizeQueryBuilder(), with ScopedIdentifierProviderInterface for custom providers — API Platform and unscoped providers still require handler enforcement; private Mercure publishing is gated on subscriber JWTs authorizing the topic. Fixes worth noting: multi-column ordering now applies all criteria with identifier tie-breaking, to-many join pagination is corrected for distinct root entities, converted/binary identifiers are supported, and edit-mode money/boolean handling is aligned with display. Before upgrading, walk the v1.2 upgrade guide for export output, money submissions, locale defaults, boolean TernaryFilter semantics, selection-column ordering offsets, modal confirmations, and private Mercure. Three APIs are deprecated for 2.0 (removeDeniedColumnValues(), deep frontend imports of the filter/bulk-action modules, and confirmBulkAction()), so budget a small cleanup ticket now to avoid a larger one later. The new demo/ Symfony app is the fastest way to validate behavior and derive acceptance tests.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource