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
Filament Drag And Scroll

Filament Drag And Scroll Laravel Package

zoltantorok/filament-drag-and-scroll

Add Shift+drag horizontal scrolling to Filament tables with this zero-config plugin. Just install via composer and call ->dragAndScroll() on your panel. Includes tooltip feedback, per-panel toggling, and 13 built-in translations.

View on GitHub
Deep Wiki
Context7

Shift + Drag to scroll Filament tables horizontally. Designed for users with basic mice or accessibility needs.

Frequently asked questions about Filament Drag And Scroll
What are the requirements for zoltantorok/filament-drag-and-scroll?
The package requires PHP 8.1 or higher, Laravel 11, 12, or 13, and Filament 5.0 or higher. The Filament 5 constraint is the practical gate: on Filament 3 or 4 the plugin cannot be installed at all, so treat it as a rider on your Filament 5 upgrade rather than a standalone task. PHP and Laravel versions in a current Laravel application are usually already satisfied.
How do I install and enable filament-drag-and-scroll?
Run composer require zoltantorok/filament-drag-and-scroll, then add ->dragAndScroll() to the panel() method chain in your PanelProvider, for example after ->login(). No service provider registration, config file, or asset build step is needed. That single method call is the entire enablement.
Can I enable drag and scroll on one Filament panel only?
Yes. The method is per-panel, so you call ->dragAndScroll() only in the provider for the panel that needs it and leave the other panel providers untouched. Calling ->dragAndScroll(false) explicitly disables it, which is useful for documenting intent on shared panel configuration. The default is off, so panels you do not touch keep their current behavior.
Does the package require any database migrations or configuration?
No. It ships a small JavaScript and CSS bundle plus translation strings and has no migrations, schema changes, queues, or external service calls. Installation does not publish a config file. The only optional publish step is for translations, which you need only if you want to override the bundled language strings.
Does Shift+drag still work after pagination, sorting, filters, or Livewire SPA navigation?
That is the main thing to verify before rollout, because Filament tables re-render through Livewire and any handler bound once without event delegation can silently stop working after a table refresh. The package is designed to stay out of the way of normal table usage, but you should still test the gesture in a staging panel after paginating, sorting, filtering, and navigating between pages. If the drag stops working, users typically revert to their previous scrolling habit, so it will not be reported as a bug.
Is this package an accessibility fix for keyboard users?
It improves one input modality: pointer-based horizontal scrolling for people using a basic mouse or trackball. It does not deliver keyboard operability, so it should not be recorded as satisfying WCAG 2.1.1 or as closing a broader accessibility commitment. Treat it as a usability improvement alongside, not instead of, keyboard-accessible table navigation.
Which languages are included and how do I customize the translations?
English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Japanese, Korean, Hungarian, and Romanian are bundled, and the matching one is picked up automatically from your app locale. To override any string, publish the package assets with php artisan vendor:publish --tag=filament-drag-and-scroll-views and edit the files under resources/lang/vendor. If your application already ships translations for the same locales, check that there is no key collision.
Will Shift+drag interfere with text selection, row selection, or column reordering?
Shift plus drag overlaps with native browser text selection, so the handler needs to scope its preventDefault to the table container rather than the whole page. If you use row selection, column reordering, or reorder handles on the same tables, test the gesture against those features in staging before enabling it widely. The package is intended to be non-intrusive, but interaction conflicts only show up when you try them on your own tables.
Does it work with a strict Content Security Policy?
Panels that use nonce-based or strict CSP headers are the most likely breakage case, because the injected asset must be allowed to load and initialize. Test on any panel with restrictive headers before rollout, since the failure is silent from a user perspective. Panels without a strict CSP are generally unaffected.
Is the package safe to use in production, and what are the alternatives?
Risk is low because the package is purely presentational: no data plane, no service surface, and its worst failure is that the gesture stops working and users scroll as they did before. The maintenance risk is higher than the technical risk, since it is a single-author package with a small install base, so pin the version and be ready to vendor roughly 50 lines of JavaScript yourself if it stalls. Alternatives are the native Shift plus mouse wheel, a custom drag-to-scroll handler in your panel assets, or a generic drag-scroll library. Confirm the tagged release matches the commit you audit before it enters your lockfile.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo