Quickly open resource, models, and other files from within your FilamentPHP table in your PHPstorm editor.
Note
The links are rendered through Filament's tables::header.after render hook, underneath the table header, so a table that already sets its own description keeps it.
That spot lives inside the table's header container, which Filament hides when a table has nothing to put in it. A table with no heading, no description, no header actions, no search, no filters and no column manager therefore won't show the links.
You can install the package via composer:
composer require niladam/quick-linksRun the install command:
php artisan quick-links:installThese are the contents of the published config file:
return [
'enabled' => env('QUICK_LINKS_ENABLED', true),
/**
* Currently the supported links that are automatically added to your table are:
*
* resource - Opens the resource.
* model - Opens the model.
* env - Opens the env file.
*/
'links' => [
'resource' => env('QUICK_LINKS_SHOW_RESOURCE', true),
'model' => env('QUICK_LINKS_SHOW_MODEL', true),
'env' => env('QUICK_LINKS_SHOW_ENV', true),
],
'prefix' => env('QUICK_LINKS_PREFIX', 'Open in PHPStorm:'),
'separator' => env('QUICK_LINKS_SEPARATOR', ' • '),
/**
* Add your resources here that you want to disable the quick links for.
*
* Please make sure to add the FQCN of your resource here.
*
* Eg: \App\Filament\Resources\OrderResource::class
*/
'disabled' => [
//
],
/**
* Add your files here that you want to enable quick links for.
*
* These will be added at the after the resource links.
*
* Please make sure to add the full path to your file here.
*
* Missing files will be ignored.
*
* Eg:
* base_path('config/quick-links.php') => 'quick config'
* will generate a link with the name 'quick config'
* and open the file at base_path('config/quick-links.php')
*/
'files' => [
// base_path('config/quick-links.php') => 'quick config',
],
];The links are rendered from a Blade view. Publish it if you want to change the markup:
php artisan vendor:publish --tag=quick-links-viewsIt lands in resources/views/vendor/quick-links/quick-links.blade.php and receives $links (each with a url and a label), $prefix and $separator.
While you can disablee the package entirely by setting the QUICK_LINKS_ENABLED environment variable to false you can also use a closure to conditionally disable it.
use Niladam\QuickLinks\Facades\QuickLinks;
// Disable for the user with ID 1
QuickLinks::disableIf(fn() => auth()->id() === 1);
// Disable for a specific role:
QuickLinks::disableIf(fn() => auth()->user()->hasRole('moderator'));use Niladam\QuickLinks\Facades\QuickLinks;
QuickLinks::disableOn(App\Filament\Resources\OrderResource::class);Simply add the FQCN(s) (fully qualified class name) to your resource in the quick-links.disabled config option.
composer testThe suite runs against Filament v3, v4 and v5.
Please see CHANGELOG for more information on what has changed recently.
Upgrading from v1? See UPGRADING.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
- Madalin Tache
- grafst - for rendering the links through a header render hook, so existing table descriptions are kept
- All Contributors
The MIT License (MIT). Please see License File for more information.