Pan Analytics Widget plugin screenshot
Dark mode ready
Multilingual support
No v5.x support

Pan Analytics Widget by Tally Schmeits

Community

Display PanPHP Analytics data in your dashboard

Tags: Widget Developer Tool Analytics
Supported versions:
3.x
Tally Schmeits avatar Author: Tally Schmeits

Package health

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
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.lock is 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.3 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the 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 .
Powered by Plumb Last scanned 2 weeks ago

Documentation

Latest Version on Packagist GitHub Tests Action Status Total Downloads

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.

example-screenshot.png

#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 now isSearchable().
  • The page size options are 5, 10, 25 and 50. The "all" option is gone.
  • The unused facade, FilamentPanAnalyticsWidget class, testing mixin, stubs and the filament-pan-analytics-widget:: view namespace are removed.
  • The headers.id translation key is removed. New keys: not_available and empty.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

#License

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