PHPackages                             tjmpromos/sortable-gallery - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. tjmpromos/sortable-gallery

ActiveLibrary[Image &amp; Media](/categories/media)

tjmpromos/sortable-gallery
==========================

Provides a sortable image gallery component with a Filament admin interface.

v2.1.4(1y ago)12355[4 PRs](https://github.com/tjmpromos/sortable-gallery/pulls)MITPHPPHP ^8.1CI passing

Since Nov 3Pushed 4mo ago4 watchersCompare

[ Source](https://github.com/tjmpromos/sortable-gallery)[ Packagist](https://packagist.org/packages/tjmpromos/sortable-gallery)[ Docs](https://github.com/tjmpromos/sortable-gallery)[ RSS](/packages/tjmpromos-sortable-gallery/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (22)Versions (22)Used By (0)

 [![Sortable Gallery banner](https://repository-images.githubusercontent.com/544939993/705286e7-8d16-493d-b1bb-58d994137556)](https://repository-images.githubusercontent.com/544939993/705286e7-8d16-493d-b1bb-58d994137556)

Sortable Gallery for Laravel
============================

[](#sortable-gallery-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/de71b41e157ad1b6738a14f3eb068d3e10e5771c9a00f2bb2b43823c9dd350f6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f746a6d70726f6d6f732f736f727461626c652d67616c6c6572792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tjmpromos/sortable-gallery)[![GitHub Tests Action Status](https://camo.githubusercontent.com/3342c0fb4dab31284bc67838bc324d537daad41c3578bf1a7be394a520b37d7a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f746a6d70726f6d6f732f736f727461626c652d67616c6c6572792f72756e2d74657374732e796d6c3f6c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/tjmpromos/sortable-gallery/actions/workflows/run-tests.yml)[![GitHub Workflow Status](https://camo.githubusercontent.com/f95f845d891416dc1001c7b178167a59663039660bc34b7b83dc5678801d483f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f746a6d70726f6d6f732f736f727461626c652d67616c6c6572792f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/tjmpromos/sortable-gallery/actions/workflows/fix-php-code-style-issues.yml)[![Total Downloads](https://camo.githubusercontent.com/a775b0012369c53fea36d539c6766c82d49cb7982fdcd1d7a30ce3f15d11e79c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f746a6d70726f6d6f732f736f727461626c652d67616c6c6572792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tjmpromos/sortable-gallery)

This is a quickly installable, sortable gallery for Laravel applications. Under the hood, it utilizes [Filament](https://filamentphp.com/docs/2.x/) for managing assets. We default to using [Livewire](https://laravel-livewire.com/docs/2.x/quickstart) and [Alpine.js](https://alpinejs.dev/start-here) for interactions and [TailwindCSS](https://tailwindcss.com/docs/installation) for styling, but you are welcome to publish the views and change the front end to whatever you desire.

Prerequisites
-------------

[](#prerequisites)

Ths package uses the following packages and are required to be installed and configured before installing sortable-gallery:

- [Filament](https://filamentphp.com/docs/2.x/admin/installation)
- [Spatie Media Library](https://docs.spatie.be/laravel-medialibrary/v9/introduction/)
- [Filament Media Library](https://filamentphp.com/docs/2.x/media-library/installation)
- [Spatie Tags](https://docs.spatie.be/laravel-tags/v3/introduction/)
- [Filament Spatie Tags](https://filamentphp.com/docs/2.x/tags/installation)
- [Livewire](https://laravel-livewire.com/docs/2.x/quickstart)

Optional
--------

[](#optional)

These packages are not required, but are used by default for styling and interactions in the view. Feel free to roll your own styling and interactions if you wish.

- [Alpine.js](https://alpinejs.dev/start-here)
- [TailwindCSS](https://tailwindcss.com/docs/installation)

Installation
------------

[](#installation)

Via Composer

```
composer require tjmpromos/sortable-gallery
```

Getting Started
---------------

[](#getting-started)

### New Applications

[](#new-applications)

If you aren't currently using Filament, you'll need to run a few commands to get started. We recommend checking out [Filament's documentation](https://filamentphp.com/docs/2.x/admin/installation) for installation instructions, but here are the basics just to get you started quickly.

You'll need to migrate some tables into your database to get started. To do this, simply run:

```
php artisan migrate
```

### Existing Applications

[](#existing-applications)

If you are currently using Filament or have a media table, you may run into conflicts while migrating. To help alleviate this issue, we've provided some publishable migrations. You can export them to your `database/migrations` directory by running:

```
php artisan vendor:publish --tag=sortable-gallery-migrations
```

### Publishing and Editing The Config File

[](#publishing-and-editing-the-config-file)

But first things first! You should probably publish the config file so that you can create your categories. You can do that by running:

```
php artisan vendor:publish --tag=sortable-gallery-config
```

This will create `config/sortable-gallery.php` which will give you a few options such as where you store media, your tag types and the size of your preview images.

`media_library`

This can be any number of tag types (think of them like categories) that you wish to group your tags into. We utilize them for things like colors, product options, etc...

`preview_image_size`

This allows you to set the image preview size for displaying on the front end.

Add to your FilamentPHP v3 admin panel
--------------------------------------

[](#add-to-your-filamentphp-v3-admin-panel)

Add the following to your FilamentPHP AdminPanelProvider.php file or the Panel provider file of your choice:

```
use Tjmpromos\SortableGallery\SortableGalleryPlugin;

class AdminPanelProvider extends PanelProvider
{
ublic function panel(Panel $panel): Panel
    {
        return $panel
            ->default()
            ->id('admin')
            ->path('admin')
             //... other panel config
             ->plugins([
                SortableGalleryPlugin::make(),
            ]);
    }
}
```

### Publishing and Editing the Livewire Component

[](#publishing-and-editing-the-livewire-component)

We use [BaguetteBox.js](https://feimosi.github.io/baguetteBox.js/) for our lightbox and tried to make the UI as non-intrusive as possible, but you are welcome to use whatever you'd like. You can publish the views and edit the `resources/vendor/sortable-gallery/livewire` view to use whatever you'd like.

```
php artisan vendor:publish --tag=sortable-gallery-views
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Mike Wall](https://github.com/daikazu)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance64

Regular maintenance activity

Popularity20

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 60.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~63 days

Recently: every ~141 days

Total

15

Last Release

399d ago

Major Versions

v1.0.6 → v2.0.02023-09-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/243ad8da27e89fc96a5da7e677e11d3517936e171a5628dd31ea8855f10a8017?d=identicon)[TJMPromos](/maintainers/TJMPromos)

---

Top Contributors

[![daikazu](https://avatars.githubusercontent.com/u/4039367?v=4)](https://github.com/daikazu "daikazu (45 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (16 commits)")[![dymond](https://avatars.githubusercontent.com/u/18563161?v=4)](https://github.com/dymond "dymond (8 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (5 commits)")

---

Tags

alpinejsfilamentphplaravel-packagelaravel-tagslivewirespatie-laravel-medialibrarylaravelfilamentfilament-packagetjmpromossortable-gallery

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/tjmpromos-sortable-gallery/health.svg)

```
[![Health](https://phpackages.com/badges/tjmpromos-sortable-gallery/health.svg)](https://phpackages.com/packages/tjmpromos-sortable-gallery)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)[andrewdwallo/filament-companies

A comprehensive Laravel authentication and authorization system designed for Filament, focusing on multi-tenant company management.

34450.0k2](/packages/andrewdwallo-filament-companies)[tomatophp/filament-media-manager

Manage your media files using spatie media library with easy to use GUI for FilamentPHP

14543.9k3](/packages/tomatophp-filament-media-manager)[joshembling/image-optimizer

Optimize your Filament images before they reach your database.

111145.4k12](/packages/joshembling-image-optimizer)[danihidayatx/image-optimizer

Optimize your Filament images before they reach your database. Forked from joshembling/image-optimizer for Filament v4 &amp; v5 support.

254.4k](/packages/danihidayatx-image-optimizer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
