Quick Links by Madalin Tache
CommunityQuickly open resource, and other files from Filament's table using PhpStorm.
Author:
Madalin Tache
Package health
Automated checks of this plugin's Composer package
15 checks
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
-
Failed:
Dependency update cooldown configured
—
No cooldown configured in
.github/dependabot.yml. View details on Plumb - Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 0 days ago; last release 502 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Installation
- Configuration
- Styling
- Conditional disabling
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
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.
#Installation
You can install the package via composer:
composer require niladam/quick-links
Run the install command:
php artisan quick-links:install
#Configuration
These 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',
],
];
#Styling
The links are rendered from a Blade view. Publish it if you want to change the markup:
php artisan vendor:publish --tag=quick-links-views
It lands in resources/views/vendor/quick-links/quick-links.blade.php and receives $links (each with a url and a label), $prefix and $separator.
#Conditional disabling
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.
#Somewhere in a Service Provider..
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'));
#Disabling for a specific resource using code:
use Niladam\QuickLinks\Facades\QuickLinks;
QuickLinks::disableOn(App\Filament\Resources\OrderResource::class);
#Disabling quicklinks on a specific resource(s) using config
Simply add the FQCN(s) (fully qualified class name) to your resource in the quick-links.disabled config option.
#Testing
composer test
The suite runs against Filament v3, v4 and v5.
#Changelog
Please see CHANGELOG for more information on what has changed recently.
Upgrading from v1? See UPGRADING.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
- Madalin Tache
- grafst - for rendering the links through a header render hook, so existing table descriptions are kept
- All Contributors
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Featured Plugins
A selection of plugins curated by the Filament team
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle