Pan Analytics Widget by Tally Schmeits
CommunityDisplay PanPHP Analytics data in your dashboard
Author:
Tally Schmeits
Package health
Automated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- 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
- Passed: Dependency update cooldown configured
- 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 482 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.3supports 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
- Compatibility
- Installation
- Usage
- Upgrading from 4.x to 5.x
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Need help with Filament?
- Credits
- License
A Filament dashboard widget for panphp/pan, the lightweight and privacy-focused product analytics library. It shows the impressions, hovers and clicks that pan collected, with the share of hovers and clicks per impression.

#Compatibility
| Package version | Filament | Laravel | PHP |
|---|---|---|---|
| 5.x | 4.x and 5.x | 12 and 13 | 8.3+ |
| 4.x | 3.x | 11 and 12 | 8.3+ |
Version 4.x is for Filament 3, despite the number. It lives on the 4.x branch and still gets fixes.
#Installation
This widget reads the pan_analytics table of pan, so install and migrate pan first:
composer require panphp/pan
php artisan install:pan
Then install the widget:
composer require schmeits/filament-pan-analytics-widget
Numbers and percentages are formatted in the app locale with the PHP intl extension. Without intl the widget shows plain numbers.
Optionally, publish the translations (English and Dutch are included):
php artisan vendor:publish --tag="filament-pan-analytics-widget-translations"
#Usage
Add the plugin and the widget to your panel:
use Schmeits\FilamentPanAnalyticsWidget\FilamentPanAnalyticsWidgetPlugin;
use Schmeits\FilamentPanAnalyticsWidget\Widgets\PanAnalyticsTableWidget;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(FilamentPanAnalyticsWidgetPlugin::make())
->widgets([
PanAnalyticsTableWidget::class,
]);
}
#Options
FilamentPanAnalyticsWidgetPlugin::make()
// Show a search field for the name column.
->searchable()
// Decide who may see the widget. Everyone with access to the panel sees it by default.
->authorize(fn (): bool => auth()->user()?->can('viewAnalytics') ?? false)
Both options also accept a closure, which is evaluated when the widget renders.
Without the plugin on the panel the widget still works: it is visible, without search.
#Upgrading from 4.x to 5.x
- Requires Filament 4 or 5 (Laravel 12 or 13). Stay on 4.x for Filament 3.
FilamentPanAnalyticsWidgetPlugin::getSearchable()is nowisSearchable().- The page size options are 5, 10, 25 and 50. The "all" option is gone.
- The unused facade,
FilamentPanAnalyticsWidgetclass, testing mixin, stubs and thefilament-pan-analytics-widget::view namespace are removed. - The
headers.idtranslation key is removed. New keys:not_availableandempty.heading/empty.description. Re-publish the translations if you published them before.
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Need help with Filament?
I'm Tally Schmeits, the maintainer of this package. I build and maintain Filament and Laravel applications for clients: new admin panels and business applications, upgrades to Filament 4 and 5, and taking over existing Filament apps. More at schmeits.com/filament-specialist.
#Credits
- Tally Schmeits
- Punyapal Shah for his contribution to Pinkary where I got some inspiration for a refactor
- All Contributors
#License
The MIT License (MIT). Please see License File for more information.
The author
Tally is an entrepreneur, husband, and father of three beautiful children! With his deep expertise in web development, particularly in Laravel and Filament, he has established and successfully runs his own company, Schmeits websolutions. He is committed to staying up-to-date with the latest technologies and tools, such as Filament, to deliver top-notch services to his clients.
From the same author
Phosphor Icon Pack
A Phosphor Icon Enum package to use the Phosphor icons everywhere in your Filament project.
Author:
Tally Schmeits
Umami Widgets
Display Umami Analytics data in your dashboard
Author:
Tally Schmeits
Character Counter
A character counter for Text, Textarea and RichEditor fields
Author:
Tally Schmeits
Featured Plugins
A selection of plugins curated by the Filament team
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese