Getting started

  1. Install spiggle/visual-dashboards and run migrations.
  2. Register VisualDashboardsPlugin::make() in your Filament panel provider.
  3. Create a dashboard under Dashboards → Custom Dashboards.
  4. Click Add dashlet and complete the Filament wizard: data source → filters → transform → visualization → preview and publish.
  5. Drag and resize cards on the grid — cards wrap to the next row and never cover each other. Layout saves after you stop moving.
  6. Use Edit or Remove on any card. Remove asks for confirmation.

Data sources

Step 2 adds static filters, rolling windows, and AND/OR groups. Step 3 groups dimensions and applies COUNT/SUM/AVG/MIN/MAX. Step 5 requires a heading and subheading, and can limit the dashlet to Spatie / Shield roles.

Live preview

The finalize step renders a mini KPI card, table, or ApexCharts preview with a Filament loading indicator. It refreshes as you change earlier wizard steps (300ms debounce, up to 50 preview rows).

Export / import

From the dashboard list or view page, use Export JSON to download dashboard metadata and dashlets. Use Import JSON on the list page to restore layouts. CLI equivalents:

php artisan dashlet:export 1
php artisan dashlet:import storage/app/dashlet-export-1.json --user=1 --replace

Seed demo dashboards with every Core dashlet type:

php artisan dashlet:seed

This creates Overview, User analytics, Form operations, and Access analytics (stacked daily logins by role with in-dashlet Day / Week / Month / Year) for your first admin (or first user). Re-run safely — existing demo dashlets are updated in place. Use --fresh to remove and recreate them.

Run php artisan dashlet:verify after install to exercise schema, data entities, preview payloads, export/import, and layout sync.