zoltantorok/filament-drag-and-scroll

Shift + Drag to scroll Filament tables horizontally. Designed for users with basic mice or accessibility needs.
1,616 3
Install
composer require zoltantorok/filament-drag-and-scroll
Latest Version:v1.0.6
PHP:^8.1
License:MIT
Last Updated:Aug 5, 2026
Links: GitHub  ·  Packagist
Maintainer: ZoliTorok48

Filament Drag and Scroll

Horizontal table scrolling in Filament can be frustrating, especially for users with basic mice that lack a horizontal scroll wheel, trackball users, or anyone working with accessibility needs. This package solves that problem by letting users hold Shift and drag to scroll tables horizontally with ease.

Features

  • Shift + Drag to scroll - Hold Shift and drag any table to scroll horizontally
  • Per-panel configuration - Enable for specific Filament panels using a simple method call
  • Visual feedback - Tooltip and cursor changes guide the user
  • 13 languages included - Automatic translation based on your app locale
  • Zero configuration - Install, enable, and it just works

Requirements

  • PHP ^8.1
  • Laravel ^11.0 | ^12.0 | ^13.0
  • Filament ^5.0

Installation

composer require zoltantorok/filament-drag-and-scroll

Usage

Add ->dragAndScroll() to your panel provider:

use Filament\Panel;
use Filament\PanelProvider;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ->default()
            ->id('admin')
            ->path('admin')
            ->login()
            ->dragAndScroll();
    }
}

That's it. Your users can now hold Shift and drag to scroll any table horizontally.

Disabling

->dragAndScroll(false)

Or simply don't call the method on panels where you don't need it.

How It Works

  1. User holds Shift - the cursor changes and a tooltip appears
  2. User clicks and drags on a table - the table scrolls horizontally
  3. User releases Shift - drag mode deactivates

The interaction is designed to stay out of the way. It doesn't interfere with normal table usage, text selection, or other Filament features.

Translations

The package uses Laravel's translation system and automatically detects your app locale. No configuration required.

Supported Languages

Language Code
English en
Spanish es
French fr
German de
Italian it
Portuguese pt
Dutch nl
Russian ru
Chinese zh
Japanese ja
Korean ko
Hungarian hu
Romanian ro

Customizing Translations

Publish the translation files to override them:

php artisan vendor:publish --tag="filament-drag-and-scroll-views"

Or create your own in resources/lang/vendor/filament-drag-and-scroll/{locale}/messages.php:

<?php

return [
    'dragToScrollHorizontally' => 'Your custom message',
    'releaseShiftToExit' => 'Your custom exit message',
];

Publishing Assets

Assets are registered automatically. If you need to publish them manually:

php artisan vendor:publish --tag="filament-drag-and-scroll-assets" --force

Contributing

Contributions are welcome! Feel free to submit a pull request.

Credits

License

The MIT License (MIT). Please see LICENSE for more information.

Related Packages

devletes/filament-timeline-view

Render Filament Tables as a chronological timeline.

18,896 23
zvizvi/filament-column-filters

Excel-style column header filters for Filament tables, with search, date range a...

6,515 19
watheqalshowaiter/filament-sticky-table-header

A Filament plugin that makes table headers stick when scrolling down for better...

87,886 36
rawand201/filament-spatie-lighthouse

A Filament plugin for running and viewing Google Lighthouse audit results

11 2
giacomomasseron/filament-async-column

A Filament v5 table column that loads its value asynchronously.

594 10