PHPackages                             clesson-de/silverstripe-dashboard - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. clesson-de/silverstripe-dashboard

ActiveSilverstripe-vendormodule[Admin Panels](/categories/admin)

clesson-de/silverstripe-dashboard
=================================

Configurable dashboard fields for Silverstripe CMS 6

1.0.1(2mo ago)088BSD-3-ClausePHP

Since Apr 26Pushed 2mo agoCompare

[ Source](https://github.com/clesson-de/silverstripe-dashboard)[ Packagist](https://packagist.org/packages/clesson-de/silverstripe-dashboard)[ RSS](/packages/clesson-de-silverstripe-dashboard/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

Silverstripe Dashboard
======================

[](#silverstripe-dashboard)

A configurable dashboard field for Silverstripe CMS. It renders a full-width, React-powered panel grid inside any CMS form. Users can rearrange panels via drag &amp; drop, toggle visibility, and configure auto-refresh intervals. Panel state is persisted per user.

Features
--------

[](#features)

- **DashboardField** — a full-width FormField that renders a React dashboard inside the CMS
- **Pluggable panels** — create custom panels by extending the abstract `DashboardPanel` class
- **Per-user configuration** — panel order, width, visibility, and refresh interval are stored per user
- **Drag &amp; drop** — reorder panels with native HTML5 drag and drop
- **Panel selector** — modal dialog to show/hide panels
- **Auto-refresh** — panels can auto-refresh their content at configurable intervals
- **API-driven** — all configuration is managed via a JSON API

Requirements
------------

[](#requirements)

- Silverstripe Framework `^6`
- Silverstripe Admin `^3`
- PHP 8.1+

Installation
------------

[](#installation)

```
composer require clesson-de/silverstripe-dashboard
composer vendor-expose
```

Then run:

```
/dev/build?flush=all

```

Usage
-----

[](#usage)

### Adding a Dashboard to a CMS Form

[](#adding-a-dashboard-to-a-cms-form)

Use `DashboardField` in any `getCMSFields()` method:

```
use Clesson\Silverstripe\Dashboard\Forms\DashboardField;

public function getCMSFields(): FieldList
{
    $fields = parent::getCMSFields();

    /** @var DashboardField $dashboardField */
    $dashboardField = DashboardField::create('Dashboard', 'my-dashboard-key');

    $fields->addFieldToTab('Root.Dashboard', $dashboardField);

    return $fields;
}
```

### Creating a Custom Panel

[](#creating-a-custom-panel)

Create a class that extends `DashboardPanel`:

```
